JSP系统开发学习之一用户登录系统(model1,纯jsp版)
2016-12-14 21:13
465 查看
1、如何在jsp页面间跳转
示例:response.sendRedirect("wel.jsp?user="+u);
2、jsp如何操作数据库
3、jsp中如何显示数据库,如何分页
需定义四个变量:
int pageSize:每页显示多少条记录 指定的
int pageNow:希望显示第几页 用户选择的
int pageCount:一共有多少页 计算得来的
int rowCount:一共有多少条记录 从表中查询得来的
比如用户希望显示第pageNow页,那么前面pageSize*(pageNow-1)就不应该显示,查询时把这些过滤掉。
具体代码在下面给出。
下面完整地给出用户登录系统的代码:
分别有三个界面,login.jsp(登录界面)、loginCl.jsp(登录处理验证界面,连接数据库并获取验证)、wel.jsp(显示界面,从数据库中获取)
login.jsp:
效果图如下:
loginCl.jsp代码:
wel.jsp界面代码:
效果图显示如下:
彩蛋:默写java连接数据库代码
Class.forName("com.microsoft.jdbc.sqlserver,SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=sqdb","sa","123456");
Statement s=ct.createStatement();
ResultSet rs=s.executeQuery("select * from users");
示例:response.sendRedirect("wel.jsp?user="+u);
2、jsp如何操作数据库
//接收用户名和密码,完成对用户的验证 String u=request.getParameter("username"); String p=request.getParameter("passwd"); //到数据库中验证 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //得到链接 Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb","sa","123456"); //创建Statement Statement sm=ct.createStatement(); //查询数据库 ResultSet rs=sm.executeQuery("select passwd from users where username='"+u+"'"); //根据结果做判断 if(rs.next()){ //说明用户名存在 if(rs.getString(1).equals(p)){ //一定合法 response.sendRedirect("wel.jsp?user="+u); }else{ //密码错误 response.sendRedirect("login.jsp?errNo=1"); } }else{ //说明用户名都错了 response.sendRedirect("login.jsp?errNo=2"); }
3、jsp中如何显示数据库,如何分页
需定义四个变量:
int pageSize:每页显示多少条记录 指定的
int pageNow:希望显示第几页 用户选择的
int pageCount:一共有多少页 计算得来的
int rowCount:一共有多少条记录 从表中查询得来的
比如用户希望显示第pageNow页,那么前面pageSize*(pageNow-1)就不应该显示,查询时把这些过滤掉。
具体代码在下面给出。
下面完整地给出用户登录系统的代码:
分别有三个界面,login.jsp(登录界面)、loginCl.jsp(登录处理验证界面,连接数据库并获取验证)、wel.jsp(显示界面,从数据库中获取)
login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body bgcolor="pink"> <center> 用户登录<br> <hr> <form action="loginCl.jsp" method="post"> 用户名:<input type="text" name="username"/><br> 密 码:<input type="password" name="passwd"/><br> <input type="submit" value="登录"/> <input type="reset" value="重置"/> </form> </center> </body> </html>
效果图如下:
loginCl.jsp代码:
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'loginCl.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
//接收用户名和密码,完成对用户的验证 String u=request.getParameter("username"); String p=request.getParameter("passwd"); //到数据库中验证 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //得到链接 Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb","sa","123456"); //创建Statement Statement sm=ct.createStatement(); //查询数据库 ResultSet rs=sm.executeQuery("select passwd from users where username='"+u+"'"); //根据结果做判断 if(rs.next()){ //说明用户名存在 if(rs.getString(1).equals(p)){ //一定合法 response.sendRedirect("wel.jsp?user="+u); }else{ //密码错误 response.sendRedirect("login.jsp?errNo=1"); } }else{ //说明用户名都错了 response.sendRedirect("login.jsp?errNo=2"); }
//验证,先不去数据库验证,就简单验证
/*
if(u.equals("shunping")&&p.equals("123")){
//合法的wel.jsp
//如何将Logincl.jsp得到的数据传给下一个页面
//1.cookie 2.session 3.reponse.sendRedirect
response.sendRedirect("wel.jsp?user="+u);
}else{
//不合法,跳转到login.jsp
response.sendRedirect("login.jsp");
}*/
%>
</body>
</html>
wel.jsp界面代码:
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'wel.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <br>登录成功!恭喜你!<%=request.getParameter("user") %> <a href="login.jsp">返回重新登录</a> <hr> <h1>用户信息列表</h1> <% //定义四个分页会用到的变量 int pageSize=3; int pageNow=1;//默认显示第一页 int rowCount=0;//该值从数据库查询 int pageCount=0;//该值是通过计算得来 //接收用户希望显示的页数(pageNow) String s_pageNow=request.getParameter("pageNow"); //当用户是从初始登录进去的话就可能为空 if(s_pageNow!=null){ //确实接收到pageNow pageNow=Integer.parseInt(s_pageNow); } //查询到rowCount //到数据库中验证 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //得到链接 Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb","sa","123456"); //创建Statement Statement sm=ct.createStatement(); //查询数据库 ResultSet rs=sm.executeQuery("select count(*) from users"); if(rs.next())//r.next()指向指标所指的记录 { rowCount=rs.getInt(1); } //计算pageCount if(rowCount%pageSize==0){ pageCount=rowCount/pageSize; }else{ pageCount=rowCount/pageSize+1; } //查询出需要显示的记录 rs=sm.executeQuery("select top "+pageSize+ " * from users where userId not in (select top " +pageSize*(pageNow-1)+" userId from users)"); %> <table border="1"> <tr><td>用户id</td><td>用户名字</td><td>密码</td><td>电邮</td><td>级别</td></tr> <% while(rs.next()){ %> <tr> <td><%=rs.getInt(1) %></td> <td><%=rs.getString(2)%></td> <td><%=rs.getString(3) %></td> <td><%=rs.getString(4) %></td> <td><%=rs.getInt(5) %></td> </tr> <% } %> </table> <% //上一页 if(pageNow!=1){ out.println("<a href=wel.jsp?pageNow="+(pageNow-1)+">上一页</a>"); } //显示超链接 for(int i=pageNow;i<=pageNow+4;i++){ out.println("<a href=wel.jsp?pageNow="+i+">["+i+"]</a>"); } //下一页 if(pageNow!=pageCount) out.println("<a href=wel.jsp?pageNow="+(pageNow+1)+">下一页</a>"); %> </body> </html>
效果图显示如下:
彩蛋:默写java连接数据库代码
Class.forName("com.microsoft.jdbc.sqlserver,SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=sqdb","sa","123456");
Statement s=ct.createStatement();
ResultSet rs=s.executeQuery("select * from users");
相关文章推荐
- JSP系统开发学习之四关于用户登录界面的补充——通过request页面传值&wel.jsp的MVC的实现
- J2EE初级学习项目——JSP+Servlet+JavaBean开发模式+Filter+(Listener)+Jdbc的用户登录注册系统
- JSP系统开发学习之三用户登录系统改进MVC模式开发
- JSP系统开发学习之二用户登录系统改进的model1模式(jsp+java class版)
- jsp学习笔记3——用户登录系统(mv模式)
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 合作开发收费系统——临时表解决用户重复登录问题
- 【公开源代码】详述多用户博客程序开发过程-step by step(3)-【会员系统(登录)】
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- JSP开发中防止用户浏览器的刷新键引起系统操作重复提交
- 合作开发收费系统——临时表解决用户重复登录问题
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 使用Eclipse+MyEclipse+MySql开发一个用户注册登录系统
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- PHP开发一个完整、安全的用户登录系统
- vc++学生选课系统开发 sql语句操作 用户登录模块