web开发 mysql数据库操作 之 分页技术
来源:互联网 发布:centos安装nodejs 编辑:程序博客网 时间:2024/05/17 02:20
在之前登陆界面的基础上,三个文件 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); }}
0 0
- web开发 mysql数据库操作 之 分页技术
- Web开发之分页技术
- MySql之分页操作
- 模拟web开发环境 对MySql数据库的操作
- JSP中的分页技术源码(MYSQL数据库)
- 【MySQL】(4)数据库分页技术
- Java Web—数据库分页操作
- 【web学习之Mysql】数据库----->查询操作<------大全
- Java web访问MySql数据库分页查询
- MySQL之数据库操作
- 数据库操作之分页、去重复
- Python开发---操作MySQL数据库
- php中对MYSQL操作之预处理技术(1)数据库dml操作语句
- Web开发框架之分页控件
- web应用分页技术
- Java.Web - 分页技术
- Java web 分页技术
- web分页技术
- PG13阅读笔记
- 关于视图控制器push or present...处理的相关
- 使用CocoaPods配置第三方类库
- 使用IOS7原生API进行二维码条形码的扫描
- v310增强型项目蓝牙集成的问题
- web开发 mysql数据库操作 之 分页技术
- 深入块存储服务Cinder(转)
- 不多花一分钱利用VMwareworkstation和nat123建立自己的小型远程服务网站
- 从证书生成,到QSslSocket 等类的应用
- 类模版1
- freeseal修改屏幕锁和永不修眠
- SDUT3257 & 3258 (素数)
- 数据库中用sql语句进行行列转换
- springMVC使用HandlerMethodArgumentResolver 自定义解析器实现请求参数绑定方法参数