栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb(AJAX实现无刷新分页)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb(AJAX实现无刷新分页)

目录

一、准备阶段

二、使用的技术

三、 案例

四、注意事项


一、准备阶段

        1、jquery-3.3.1.js

        2、JSON需要的jar包:fastjson-1.2.47.jar

        3、eclipse

        4、将jQuery和jar包全部导入到项目中

二、使用的技术

        1、Java

        2、MVC模式

        3、AJAX

        4、jQuery

        5、HTML5

        6、Oracle

三、 案例

1、首先写好基础的数据库辅助类,实体类等等

2、编写分页的方法

    @Override
	public List getAllByPage(int pageIndex, int pageSize) {
        //实例化一个集合
		List ls=new ArrayList();
		try {
            //调用数据库辅助类获得连接
			con=DBHelper.getCon();
            //定义Oracle的分页代码
			String sql="select * from(select a.*,rownum as rid from goods a) b where b.rid between ? and ?";
			int a = (pageIndex-1)*pageSize+1;
			int b = pageIndex*pageSize;
			ps=con.prepareStatement(sql);
			//给占位符赋值
			ps.setInt(1, a);
			ps.setInt(2, b);
			rs=ps.executeQuery();
			while(rs.next()) {
				Goods g=new Goods();
				g.setGid(rs.getInt(1));
				g.setGname(rs.getString(2));
				g.setGprice(rs.getInt(3));
				g.setGinfo(rs.getString(4));
				g.setGpath(rs.getString(5));
				ls.add(g);//不要忘记了
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			DBHelper.myClose(con, ps, rs);
		}
		return ls;
	}

    @Override
	public int getRows(String str) {
		int n = 0;
		try {
			con=DBHelper.getCon();
			String sql="select count(*) from "+str;
			ps=con.prepareStatement(sql);
			rs=ps.executeQuery();
			if(rs.next()) {
				n=rs.getInt(1);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			DBHelper.myClose(con, ps, rs);
		}
		return n;
	}

    @Override
	public int getMax(String str, int pageSize) {
		int rows = igd.getRows(str);//拿到总行数
		int max = rows/pageSize;//求页码
		if(rows%pageSize!=0) {//判断是否能够除得尽
			max++;
		}
		return max;
	}

3、编写Servlet代码

@WebServlet("/page.do")//在这里配置之后就不需要到web.xml再进行配置映射,但是也要重启服务器
public class PageServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//设置编码方式
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html; charset=UTF-8");
		
		//获取out
		PrintWriter out=resp.getWriter();
		
        //定义初始页数为1
		int pageIndex=1;
        //每页显示5条数据
		int pageSize=5;
		
		//接收pid
		String pid=req.getParameter("pid");
		if(pid!=null) {
			pageIndex=Integer.parseInt(pid);
		}
		
		//调用biz层的分页方法
		IGoodsBiz igb=new GoodsBiz();
		//商品集合
		List ls=igb.getAllByPage(pageIndex, pageSize);
		//获取最大页码
		int max=igb.getMax("goods", pageSize);
		//把集合转为String
		String str=JSON.toJSonString(ls);
		//把响应输送到客户端
		out.print(str+"*"+max);//特殊字符做拼接
		out.flush();
		out.close();
	}
	
}

4、编写HTML代码(这里没有写分页的表格数据是因为要到jQuery中进行赋值)

    
首页  上一页  下一页  末页 

5、编写jQuery代码(表格中的数据是按照实体类的命名来的)

6、运行测试一下(完美nice)

四、注意事项

        一定要保证数据库可以连接

       确认Servlet的配置是否成功

        jar包一定要导入

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785303.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号