J2EE学习笔记————Servlet操作数据库分页

使用Servlet  对数据库数据进行分页显示:

 

package com.xuyan;
 import  javax.servlet.http.*;
 import   java.io.*;
 import   java.sql.*;
public class Datashow extends HttpServlet{
    
    
  public void  doGet(HttpServletRequest req,HttpServletResponse res) {
    	
    	Connection  con=null;
    	
    	Statement   sm=null;
    	ResultSet   rs=null;
    	
    	int  pageSize=3;//每页显示多少记录
    	int  pageNow=1;//当前显示第几页
    	int  pageCount=0;//共有多少页
    	int  rowCount=0;//共有多少条记录
    	
    		//设置中文字体
    	res.setCharacterEncoding("GBK");
    	
    	String getPageNow=req.getParameter("spageNow");
    	
    	
    	if(getPageNow!=null)
    	{
    		pageNow=Integer.parseInt(getPageNow);
    	}
    	
    	try
    	{
    		
    		
    		PrintWriter pw=res.getWriter();
    		String username="xiaoming";
    		

    	     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动
        	 con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=StudentInfo","sa","1234");
    	     sm=con.createStatement();
    	     rs=sm.executeQuery("select  count(*) from student");//查询共有多少记录
    	     
    	     
    	     
    	     
    	     
    	     
    	   
    	    
         	if(rs.next())  //此处说明有记录
    		
    		{
    			 rowCount=rs.getInt(1);
    			
    			if(rowCount%pageSize==0)
    			{
    					pageCount=rowCount/pageSize;
    			}
    			
    			else  
    			{
    					pageCount=rowCount/pageSize+1;  //int类型  会转化为整数
    			}
    			
    		
    			
    		
    			
    				pw.println("<body><center>");
    			pw.println("共有记录数 :" + rowCount);
    	     	pw.println("共有页码数:" +pageCount);
    		
    		//查询
    		  rs=sm.executeQuery("select top "+pageSize+"*  from student  where ID not in(select top "+pageSize*(pageNow-1)+" ID from student)");
    		
    		
    			
    			
    				pw.println("<table border=2>");
    				
    				pw.println("<tr><th>Id</th><th>Name</th><th>Genger</th><th>Age</th><th>Grade</th></tr>");
    				
    			
    		while(rs.next())
    		{	
    				pw.println("<tr>");
    					
    				pw.println("<td>"+rs.getInt(1)+"</td>");
    				pw.println("<td>"+rs.getString(2)+"</td>");
    				pw.println("<td>"+rs.getString(3)+"</td>");
    				pw.println("<td>"+rs.getString(4)+"</td>");
    				pw.println("<td>"+rs.getString(5)+"</td>");
    				
    					
    				pw.println("</tr>");
    			
    		
    	     
    			
    		}	
    			
    		}
    		
    		else
    		
    		{
    	     	pw.println("NotFoundSQL");
    		}
         
    		pw.println("</table >");
    		
    		
    		for(int i=1;i<=pageCount;i++){
    			
    		pw.println("<a href=show?spageNow="+i+">"+i+"</a>");
    		}
    		
    		
    	}
    	
    	catch(Exception ex)
    	{
    		ex.printStackTrace();
    		
   			
    	}
    	
    	finally
    	{
    		
    		
    		try{
    	
    		
    		if(rs!=null)
    		{  rs.close();
    		
    		}
    		
    		if(sm!=null){
    			sm.close();
    		}
    		
    		if(con!=null){
    			
    			con.close();
    		}
    		
    			}
    			
    			catch(SQLException eexx)
    			{
    				eexx.printStackTrace();
    			}
    	}
    	
    
    }
    
    
    
     public void  doPost(HttpServletRequest req,HttpServletResponse res) {
     	
     	
     	this.doGet(req,res);
     	
     	
     	
     	}
    
}


 

web.xml文件:

<?xml version="1.0" encoding="gbk"?>


<!DOCTYPE web-app    
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"    
"http://java.sun.com/dtd/web-app_2_3.dtd">



<web-app>

  <display-name> Welcome to TomCat</display-name>
  <description>
    Welcome to TomCat
  </description>

  
  

  <!-- Define the Manager Servlet Mapping -->
  <servlet>
<!--给你的servlet取名,任意-->
    <servlet-name>hello</servlet-name>

<!--指明servlet的包名+类名-->
      <servlet-class>com.xuyan.Hello</servlet-class>
  </servlet>
  <servlet-mapping>

<!--同上方名字一样,必须-->
    <servlet-name>hello</servlet-name>

<!--在浏览器中访问的名字-->
    <url-pattern>/xuyan</url-pattern>
  </servlet-mapping>




	


	<servlet>
		<!--给你的servlet取名,任意-->
		<servlet-name>chuli</servlet-name>

		<!--指明servlet的包名+类名-->
		<servlet-class>com.xuyan.LoginCL</servlet-class>
	</servlet>
	<servlet-mapping>

		<!--同上方名字一样,必须-->
		<servlet-name>chuli</servlet-name>

		<!--在浏览器中访问的名字-->
		<url-pattern>/login</url-pattern>
	</servlet-mapping>



	<servlet>
		<!--给你的servlet取名,任意-->
		<servlet-name>welcome</servlet-name>

		<!--指明servlet的包名+类名-->
		<servlet-class>com.xuyan.welcome</servlet-class>
	</servlet>
	<servlet-mapping>

		<!--同上方名字一样,必须-->
		<servlet-name>welcome</servlet-name>

		<!--在浏览器中访问的名字-->
		<url-pattern>/welcome</url-pattern>
	</servlet-mapping>
	



<servlet>
		<!--给你的servlet取名,任意-->
		<servlet-name>data</servlet-name>

		<!--指明servlet的包名+类名-->
		<servlet-class>com.xuyan.Datashow</servlet-class>
	</servlet>
	<servlet-mapping>

		<!--同上方名字一样,必须-->
		<servlet-name>data</servlet-name>

		<!--在浏览器中访问的名字-->
		<url-pattern>/show</url-pattern>
	</servlet-mapping>

</web-app>


 

运行结果:

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值