博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp之简单的用户登录系统(纯jsp)
阅读量:4325 次
发布时间:2019-06-06

本文共 5914 字,大约阅读时间需要 19 分钟。

来源:韩顺平之jsp视频教程

知识点:

1:如何在jsp页面间跳转

2:jsp如何去操作数据库

3:jsp中如何显示数据/如何分页

1 <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7  8  9   10     11     12     My JSP 'login.jsp' starting page13     14     
15
16
17
18
19
22 23 24 25
26
27 用户登录
28

29
30 用户名:
31
32 密  码:
33
34
35
36
37 38
login.jsp
1 <%@ page language="java" import="java.util.*,java.sql.*"  pageEncoding="gb2312"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7  8  9   10     11     12     My JSP 'loginCl.jsp' starting page13     14     
15
16
17
18
19
22 23 24 25 26 <%27 //接受用户名和密码,完成对用户的验证28 String u=request.getParameter("username");29 String p=request.getParameter("passwd");30 31 //到数据库中去验证用户32 //1.加载驱动33 Class.forName("com.mysql.jdbc.Driver");34 //2.得到链接35 Connection ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/spdb1","root","lszget"); //建立数据库链接36 37 //3.创建Statement38 Statement stmt=ct.createStatement();39 40 //4.查询41 ResultSet rs=stmt.executeQuery("select passwd from users where username='"+u+"'");42 43 //根据结果判断44 if(rs.next()){45 //说明用户存在46 if(rs.getString(1).equals(p)){47 48 //一定合法49 response.sendRedirect("wel.jsp?user="+u);50 51 }else{52 //密码错误53 response.sendRedirect("login.jsp?errNo=1");54 }55 }else{56 //说明用户名错了57 response.sendRedirect("login.jsp?errNo=2");58 }59 60 61 62 63 /* 64 //验证65 if(u.equals("shunping")&&p.equals("123")){66 67 //合法,跳转wel.jsp68 //如何而将loginCl.jsp得到的数据传给下一个页面69 //1.cookie 2.session 3.response.sendRedirect70 response.sendRedirect("wel.jsp?user="+u);71 }else{72 //不合法,跳转到login.jsp73 response.sendRedirect("login.jsp");74 }75 */76 77 %>78 79 80
loginCl.jsp
1 <%@page import="javax.sound.midi.SysexMessage"%>  2 <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%>  3 <%  4 String path = request.getContextPath();  5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  6 %>  7   8   9  10    11      12      13     My JSP 'wel.jsp' starting page 14      15     
16
17
18
19
20
23 24 25 26 27 28 登陆成功!!欢迎<%=request.getParameter("user")%>
29 返回重新登录 30

31

用户信息列表

32 33 <% 34 //定义四个分页变量,作用域在整个页面 35 int pageSize=3;//每页显示多少条记录 36 int pageNow=1;//默认显示第一页 37 int pageCount=0;//该值是通过pageSize和rowCount计算 38 int rowCount=0;//该值从数据库中查询 39 40 //接受用户希望显示的页数(pageNow) 41 String s_pageNow=request.getParameter("pageNow"); 42 if(s_pageNow!=null){ 43 //接受到pageNow 44 pageNow =Integer.parseInt(s_pageNow); 45 System.out.println("pageNow =Integer.parseInt(s_pageNow);"); 46 } 47 48 //查询得到rowCount 49 //1.加载驱动 50 Class.forName("com.mysql.jdbc.Driver"); 51 //2.得到链接 52 Connection ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/spdb1","root","lszget"); 53 54 //3.创建Statement 55 Statement stmt=ct.createStatement(); 56 57 //4.查询 58 ResultSet rs=stmt.executeQuery("select count(*) from users "); 59 //请注意一定要rs.next() 60 if(rs.next()){ 61 62 rowCount=rs.getInt(1); 63 64 65 } 66 //计算pageCount 67 if(rowCount%pageSize==0){ 68 pageCount=rowCount/pageSize; 69 }else{ 70 71 pageCount=rowCount/pageSize+1; 72 73 } 74 75 //查询出需要显示的记录 76 /*实现类似top的功能,在SQL Server中和MySQL中使用到的SQL语句是不同的 77 1、在SQL Server中,我们使用 select top N * from tablename来查询tablename表中前N条记录 78 select * from users limit "+pageSize*(pageNow-1)+" ,"+pageSize+" 79 2、在MySQL中,则使用select * from users limit M,N ,M表示从第M+1条记录开始,N表示返回N条记录 80 rs=stmt.executeQuery("select "+pageSize+" * from users where userId not in (select top " 81 +pageSize*(pageNow-1)+" userId from users)"); 82 数据库数据成倍增加 83 INSERT INTO users(username,passwd,email,grade)SELECT username,passwd,email,grade FROM users 84 */ 85 86 rs=stmt.executeQuery("select * from users limit "+pageSize*(pageNow-1)+" ,"+pageSize+" "); 87 88 //显示 89 %> 90 91 92
93
94
95 96 97 98 <% 99 while(rs.next()){100 %>101 102
103
104
105 <%106 107 } 108 109 %>110
用户id 用户名字 用户密码 电子邮件 用户级别
<%=rs.getInt(1)%> <%=rs.getString(2)%> <%=rs.getString(3)%> <%=rs.getString(4)%> <%=rs.getInt(5) %>
111 112 <%113 //上一页114 if(pageNow!=1){115 out.println("[上一页]");116 }117 118 //显示超链接 119 for(int i=1;i<=pageCount;i++){120 //韩顺平代码: out.println("["+i+"]");121 //加#有问题,???122 out.println("["+i+"]");123 124 125 }126 //下一页127 if(pageNow!=pageCount){128 out.println("[下一页]");129 }130 131 %>132 133 134 135 136
wel.jsp

 

转载于:https://www.cnblogs.com/-rfq/p/7110646.html

你可能感兴趣的文章
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>
nginx反向代理docker registry报”blob upload unknown"解决办法
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
kibana的query string syntax 笔记
查看>>
旋转变换(一)旋转矩阵
查看>>
thinkphp3.2.3 bug集锦
查看>>
[BZOJ 4010] 菜肴制作
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
C++练习 | 模板与泛式编程练习(1)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
RobotFramework自动化2-自定义关键字
查看>>