web开发 mysql数据库操作 之 分页技术

在之前登陆界面的基础上,三个文件 Login,Verify,Welome。登陆界面操作数据库项目代码:点击打开链接

然后为了验证大数据量处理,通过 insert into users (username,passwd,grade) select username,passwd,grade from users  来让表自我复制,我们最好让表数量超过10w。

 

package com.busymonkey;  
  
import java.io.IOException;  
import java.io.PrintWriter;  
  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
/** 
 * Servlet implementation class ServletDemo 
 */  
public class Login extends HttpServlet {  
    private static final long serialVersionUID = 1L;  
         
    public Login() {  
        super();  
    }  
  
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
        try {  
            PrintWriter pw = response.getWriter();  
            pw.println("");  
            pw.println("");  
            pw.println("

Login

"); pw.println("
"); pw.println("UserName:
"); pw.println("PassWord:
"); pw.println("
"); pw.println("
"); pw.println(""); pw.println(""); } catch (Exception ex) { ex.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }

 

package com.busymonkey;

import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class Verify extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    public Verify() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	Connection ct = null;
    	Statement sm = null;
    	ResultSet rs = null;
    	try {
        	String u=request.getParameter("username");
        	String p=request.getParameter("passwd");
        	
        	//数据库连接
        	Class.forName("com.mysql.jdbc.Driver");
        	//得到连接
        	ct = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db_hou", "root", "123456");
        	//创建Statement
        	sm = ct.createStatement();
        	rs = sm.executeQuery("select * from users where username='"+u+"' and passwd='"+p+"'");
        	
        	if (rs.next()) {//next能进来说明用户是存在的
        		String dbPasswd = rs.getString("passwd");
        		if (dbPasswd.equals(p)) {
	        		HttpSession hs = request.getSession(true);
	        		hs.setMaxInactiveInterval(20);
	        		hs.setAttribute("pass", "ok");
	        		response.sendRedirect("welcome?uname=" + u + "&upass=" + p); 			
        		}
        		else
        		{
        			response.sendRedirect("login");
        		}
        	}
        	else {
        		response.sendRedirect("login");
        	}
        }
        catch (Exception ex) {
        	ex.printStackTrace();
        }finally{
        	try {
        		if (rs!=null) rs.close();
        		if (sm!=null) sm.close();
        		if (ct!=null) ct.close();
        	}
        	catch (Exception ex) {
        		ex.printStackTrace();
        	}
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

}

 

package com.busymonkey;

import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class WelCome extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    public WelCome() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Connection ct = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        
    	HttpSession hs = request.getSession(true);
        String val = (String) hs.getAttribute("pass");//非法登陆返回空
        if ( val == null )
        {
        	try {
        		response.sendRedirect("login");
        	}
        	catch (Exception ex) {
        		ex.printStackTrace();
        	}
        }
    	String u = request.getParameter("uname");
        String p = request.getParameter("upass");
    	try {
    		//分页技术
    		int pageSize = 3;//每页条数
    		int pageCurrent = 1;//当前页数
    		int rowCount = 0;//总条数
    		int pageCount = 0;//总页数
    		PrintWriter pw = response.getWriter();
    		//动态接收pageCurrent
    		String sPageCurrent = request.getParameter("pageCurrent");
    		if (sPageCurrent != null) {
    			pageCurrent = Integer.parseInt(sPageCurrent);
    		}

    		//得到rowCount
        	Class.forName("com.mysql.jdbc.Driver");
        	ct = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db_hou", "root", "123456");
        	ps = ct.prepareStatement("select count(*) from users");
        	rs = ps.executeQuery();
        	if (rs.next()) {
        		rowCount = rs.getInt(1);	
        	}
        	//计算pageCount
        	if (rowCount%pageSize == 0) {
        		pageCount = rowCount/pageSize;
        	}
        	else {
        		pageCount = rowCount/pageSize + 1;
        	}
        	
        	ps = ct.prepareStatement("select * from users limit ?,?");
        	//给?赋值
        	ps.setInt(1, pageSize*(pageCurrent-1));
        	ps.setInt(2, pageSize);
        	rs = ps.executeQuery();
        	
        	pw.println("
"); pw.println("
"); pw.println("Welcome!!!! " + u + " pass=" + p); //表数据显示 pw.println(""); pw.println(""); while (rs.next()) { pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); } pw.println("
IDNAMEPASSWDGRADE
"+rs.getInt("userId")+""+rs.getString("username")+""+rs.getString("passwd")+""+rs.getInt("grade")+"
"); //上一页 if (pageCurrent != 1) pw.println("Prepage"); //显示超链接 for (int i = pageCurrent; i <= pageCurrent+5; i ++) { pw.println(""+i+""); } //下一页 if (pageCurrent != pageCount) pw.println("Nextpage"); pw.println("
"); } catch (Exception ex) { ex.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }

 

 

 

 

 

 

你可能感兴趣的:(Web)