servlet + jsp分页

转载 2013年12月02日 21:05:46
public class EmpListServlet extends HttpServlet {
 
	private static final int PAGEROW = 4;//设置一个页面里面有四条数据
 
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
 
		response.setContentType("text/html");
 
		EmpDao ed = new EmpDao();//创建一个数据库操作的对象
		int page = 1;
 
		String nowPage = request.getParameter("nowPage");//获取当前页数
 
		if(nowPage!=null && !"".equals(nowPage)){
			//如果传入的值为非空,则将page设置传入的值,否则page值仍为1
			page = Integer.parseInt(nowPage);
		}
 
		int count = ed.getRowCount();//获取数据库中所有的条目的总数
 
		//得到总共的分页数目
		int pageCount = count%PAGEROW==0?count/PAGEROW:count/PAGEROW+1;
		//如果数据库中的条数不能填满最后一个页面,那页面数就加上1
		//(整除除不尽会去掉小数部分,因而页面会少一个,所以需要+1)
 
		if(page<1){//如果传如的页数小于1了,那就仍旧在第一页
			page = 1;
		}
		if(page > pageCount){//如果传入的页数超过了最大页数,那么就仍旧到最大页数
			page = pageCount;
		}
 
		int start = (page-1) * PAGEROW + 1;//页面里起始的数据行,
		int end = start + PAGEROW - 1;//页面里最末尾的数据行
 
		List elist = ed.findEmpList(start,end);//根据开始和结束从数据库得到列表
 
		request.setAttribute("elist", elist);
		request.setAttribute("page", page);
		request.setAttribute("endPage", pageCount);
 
		RequestDispatcher dispatcher = request.getRequestDispatcher("main.jsp");
		dispatcher.forward(request, response);
	}
 
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);
	}
 
}
接下来是EmpDao中调用数据库的方法
public List findEmpList(int start,int end) {
	List list = new ArrayList();
	Connection con = null;
	Statement st = null;
	ResultSet rs = null;
	try {
		con = getConnection();
		st = con.createStatement();
		String sql = "select * from (select e.*, rownum rn from emp e) 
				where rn >="+start+" and rn <="+end;
		rs = st.executeQuery(sql);
		while (rs.next()) {
			Emp emp = new Emp();
			emp.setEmpno(rs.getString(1));
			emp.setEname(rs.getString(2));
			emp.setJob(rs.getString(3));
			emp.setMgr(rs.getString(4));
			Date d = rs.getDate(5);
			if (d != null) {
				emp.setHiredate(d.toString());
			}
			emp.setSal(rs.getString(6));
			emp.setComm(rs.getString(7));
			emp.setDeptno(rs.getString(8));
			list.add(emp);
		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	} finally {
		free(con, st, rs);
	}
 
	return list;
}

然后是JS处理手工输入页面的跳转

<script type="text/javascript">
	function pageto(){
		var np = document.all("nowPage").value;
		if(!isNaN(np)){
			if(np.length>0){
				location.href="EmpListServlet?nowPage="+np;
			}
		}else{
			document.all("nowPage").value="";
			alert("请输入合法的数字!");
		}
	}
</script>

下面
<tr>
	<td colspan="10">
		<a href="EmpListServlet">首页</a>
		<a href="EmpListServlet?nowPage=${page-1 }">上一页</a> 
		<a href="EmpListServlet?nowPage=${page+1 }">下一页</a> 
		<a href="EmpListServlet?nowPage=${endPage }">尾页</a>
		<input type="text" id="nowPage" size="3" />
		<input type="button" value="GO" onclick="pageto()">   
	</td>
</tr>
是翻页部分的jsp代码


MySQL数据库+jsp+servlet实现分页查询

前一段做的那个jsp+servlet的小项目用到了分页查询,老师讲了之后实现到了网页上面,今天总结到博客上面,以后忘记了自己可以看,也分享给大家.    这个项目使用的数据库是MySQL,在MySQL...
  • zc1994113
  • zc1994113
  • 2015年12月23日 22:03
  • 5697

JSP+Servlet+oracle 的一个分页查询小应用

JSP+Servlet+oracle 的一个分页查询小应用 功能实现:1.编写1个简单jsp页面,提交表单提交一个人的名字到servlet控制器中。 2.编写一...
  • as18819281938
  • as18819281938
  • 2016年06月06日 15:45
  • 1510

MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页

MVC分层+JDBC+数据库+Servlet实现JSP文件上传+模糊查询+分页
  • qq417187792
  • qq417187792
  • 2015年06月16日 18:49
  • 2165

jsp+servlet实现的简单分页

1,首先前台jsp页面发出请求 人员查找topage是指当前页数,首先一开始查的是第一页,所以传递的是智能是1--> 2,然后就是servlet来处理jsp页面发过来的请求 pack...
  • asdfzjs
  • asdfzjs
  • 2013年11月21日 16:47
  • 1018

很好的jsp+servlet+javaBean实现数据分页代码例子

自己动手写的一个jsp+servlet+javaBean实现数据分页代码例子,省去了数据库连接部分,给出核心代码。 1.首先创建实现分页功能的javabean...
  • u011868076
  • u011868076
  • 2015年11月19日 14:52
  • 3181

Servlet——实现数据分页显示

本文讲述了Servlet中连接数据库以及实现数据分页显示的方法。
  • ggGavin
  • ggGavin
  • 2016年05月06日 22:39
  • 6803

servlet+JDBC实现登录 增删查改 分页显示

本人是初学者,网上的搜了一下基本很少有详细的讲解,所以自己亲自动手做了下,把遇到的一些问题也说明了一下,希望对和我一样的菜鸟有所帮助,共同进步。     本案例没有添加AJAX以及JS验证,只是简单的...
  • wutao0805
  • wutao0805
  • 2015年09月23日 22:01
  • 1084

Servlet分页技术

这是看韩顺平老师的servlet视频,自己动手写的,楼主看韩顺平老师的servlet是2006制作的,用的是sql server数据库,自己又用的是oracle数据库,所以怕有的同学遇到同样的问题,不...
  • zhang5476499
  • zhang5476499
  • 2015年09月26日 17:13
  • 1716

servlet+mysql分页(上一页,下一页)

servlet+mysql分页(上一页,下一页)
  • hoho_12
  • hoho_12
  • 2016年10月26日 19:00
  • 757

[原]Java web学习系列之 Java web开发中的Hibernate结合Servlet做分页

首先配置Hibernate文件(HibernateSessionFactory)和实体类。 Hibernate.cfg.xml中的配置如下: sa jdbc:sql...
  • tanlon_0308
  • tanlon_0308
  • 2014年10月23日 21:47
  • 1594
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:servlet + jsp分页
举报原因:
原因补充:

(最多只允许输入30个字)