在之前登陆界面的基础上,三个文件 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("<html>"); pw.println("<body>"); pw.println("<h1>Login</h1>"); pw.println("<form action=verify method=post>"); pw.println("UserName:<input type=text name=username><br>"); pw.println("PassWord:<input type=password name=passwd><br>"); pw.println("<input type=submit value=loging><br>"); pw.println("</form>"); pw.println("</body>"); pw.println("</html>"); } 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("<body><center>"); pw.println("<img src=./imgs/1.GIF ><br>"); pw.println("Welcome!!!! " + u + " pass=" + p); //表数据显示 pw.println("<table border=1>"); pw.println("<tr><th>ID</th><th>NAME</th><th>PASSWD</th><th>GRADE</th></tr>"); while (rs.next()) { pw.println("<tr>"); pw.println("<td>"+rs.getInt("userId")+"</td>"); pw.println("<td>"+rs.getString("username")+"</td>"); pw.println("<td>"+rs.getString("passwd")+"</td>"); pw.println("<td>"+rs.getInt("grade")+"</td>"); pw.println("</tr>"); } pw.println("</table>"); //上一页 if (pageCurrent != 1) pw.println("<a href=welcome?pageCurrent="+(pageCurrent-1)+">Prepage</a>"); //显示超链接 for (int i = pageCurrent; i <= pageCurrent+5; i ++) { pw.println("<a href=welcome?pageCurrent="+i+">"+i+"</a>"); } //下一页 if (pageCurrent != pageCount) pw.println("<a href=welcome?pageCurrent="+(pageCurrent+1)+">Nextpage</a>"); pw.println("</center></body>"); } catch (Exception ex) { ex.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }