博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
day7
查看>>
iphone移动端踩坑
查看>>
vs无法加载项目
查看>>
Beanutils基本用法
查看>>
玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
查看>>
《BI那点儿事》数据流转换——百分比抽样、行抽样
查看>>
哈希(1) hash的基本知识回顾
查看>>
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
CTP2交易所成交回报
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>