用户登录程序实现
来源:互联网 发布:2016年数据分析大赛 编辑:程序博客网 时间:2024/05/04 21:54
这篇文章的作用就是实现用户登录程序。
基本语法:
<%@page%>、<%@include%>、<jsp:include>、<jsp:forward>。
既然现在的JSP可以进行数据库的连接操作了,那么就具备了动态WEB开发的一个能力了。
在实际中所有的用户登录的操作必然都保存在数据表之中,用户输入用户名和密码,进行验证,如果正确,则表示登录成功;如果不正确,则表示登录失败。
创建数据库表的结构如下所示:
DROP TABLE user ; -- 删除表
CREATE TABLE user(
userid VARCHAR(30) PRIMARY KEY ,
name VARCHAR(30) NOT NULL ,
password VARCHAR(32) NOT NULL
) ;
INSERT INTO user(userid,name,password) VALUES ('admin','administrator','admin') ;
在数据库中执行此命令后的结果如下所示:
查询user表的内容如下:
需要的JSP页面
1. Login.jsp:提供用户的登录表单,可以输入用户id和密码。
2. Login_check.jsp:登录检查页,根据表单提交过来的id和密码进行数据库验证,成功则跳转到登录成功也,否则跳转到登录失败页。
3. Login_success.jsp:登录成功页,显示欢迎信息。
4. Login_failure.jsp:登录失败页,提示用户输入错误,并提供重新登录的超链接。
没有Java代码的JSP程序可以直接换为html格式的。
动态和静态页面相互分开,一定可以提升一部分的性能,因为动态程序需要WEB容器支持,而静态页面不需要,速度要快。
【login.jsp的页面内容如下:】
<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>登录</title></head>
<body>
<center>
<h1>登录操作</h1>
<hr>
<form action="login_check.jsp" method="post">
<table border="1">
<tr>
<td colspan="2">
用户登录
</td>
</tr>
<tr>
<td>登录ID:</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>登录密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登录">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
【login_check.jsp的页面内容如下:】
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="java.sql.*"%>
<html>
<head><title>登录</title></head>
<body>
<center>
<h1>登录操作</h1>
<hr>
<%! //定义若干个数据库的连接常量
public static final String DBDRIVER =
"org.gjt.mm.mysql.Driver";
public static final String DBURL =
"jdbc:mysql://localhost:3306/skewrain";
public static final String DBUSER = "root";
public static final String DBPASS = "mysqladmin";
%>
<%
Connection conn = null; //数据库连接
PreparedStatement pstmt = null; //数据库预处理操作
ResultSet rs = null; //查询要处理的结果集
boolean flag = false; //保存标记
String name = null; //保存真实姓名
%>
<%
try{
%>
<%
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql = "SELECT name FROM user WHERE userid=? AND password=?";
pstmt = conn.prepareStatement(sql); //pstmt实例化
//注意此时是prepareStatement而不是preparedStatement!
pstmt.setString(1,request.getParameter("id"));
pstmt.setString(2,request.getParameter("password"));
rs = pstmt.executeQuery(); //查询
if(rs.next()){ //如果有数据则可以执行
flag = true;//表示登录成功
name = rs.getString(1);
}
%>
<%
}catch(Exception e){
e.printStackTrace();
}
finally{
try{
rs.close();
pstmt.close();
conn.close();
}catch(Exception e1){}
}
%>
<%
if(flag){ //登录成功
%>
<jsp:forward page="login_success.jsp">
<jsp:param name="uname" value="<%=name%>"/>
</jsp:forward>
<%
}else{ //登录失败
%>
<jsp:forward page="login_failure.jsp"/>
<%
}
%>
</center>
</body>
</html>
【login_success.jsp的页面内容如下:】
<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>登录</title></head>
<body>
<center>
<h1>登录操作</h1>
<h2>登录成功</h2>
<h2>欢迎<font color="blue"><%=request.getParameter("uname")%></font>光临!</h2>
</center>
</body>
</html>
【login_failure.jsp的页面内容如下:】
<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>登录</title></head>
<body>
<center>
<h1>登录操作</h1>
<h2>登录失败,请重新<a href="login.jsp">登录</a>!</h2>
</center>
</body>
</html>
在WEB容器中打开login.jsp的结果如下所示:
输入用户ID:admin和密码:admin之后点击“登录”的结果如下:【登录成功界面】
输入用户ID:admin和密码:abc之后点击“登录”的结果如下:【登录失败界面】
点击“登录”超链接可以进行重新登录。
小结:
本程序综合使用了JSP+JDBC进行开发,展示了一个简单的登录程序,本程序做为一个程序开发的基本模型,在日后的开发中会继续不断完善。
- 用户登录程序实现
- JSp+JDBC实现用户登录程序
- 程序模拟用户登录
- 用户登录小程序
- 简单用户登录程序
- jsp配合java文件实现用户登录程序
- 用Python实现的简洁版的用户登录程序
- smarty实现用户登录
- 用户登录实现机制
- java实现用户登录
- AJAX实现用户登录
- php实现用户登录
- 用户登录系统实现
- 如何实现用户登录
- servlet实现用户登录
- HttpURLConnection实现用户登录
- Shiro实现用户登录
- devise实现用户登录
- 黑马程序员——java_银行业务调度系统
- Android -- jar包混淆
- 九度OJ 1283 第一个只出现一次的字符
- Sort List
- 【题解】[scoi2003]字符串折叠
- 用户登录程序实现
- 鸟哥的Linux私房菜 2章 习题
- 黑马程序员——java中的泛型
- Insertion sort list
- hdu-1394- Minimum Inversion Number--- 线段树优化
- 纯CSS实现图像3D悬停效果
- Oracle EBS开发错误集锦
- Android 中Parcelable的作用
- 黑马程序员——java集合中的HashSet