您的位置:首页 > Web前端 > JavaScript

第一个JSP+JDBC程序:用户登录程序实现

2018-02-02 21:53 627 查看
 在之前学了一段时间SE之后,听闻应该继续学习EE神器,遂购书找视频自学之。经历了刚开始的一窍不通,各种软件工具的安装与配置,慢慢了解到JavaWeb开发的一些流程,最近跟着学习资料做了一个简单的实验(用户登录程序实现:JSP+JDBC),分享之。

 工具:mysql-installer-community-5.7.21.0、MySQL Workbench 6.2 CE、jdk1.7.0_71、apache-tomcat-7.0.82。

一、创建数据表

 要想完成用户登录的操作,首先应该准备一张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');
 以上数据库脚本创建了一条测试数据,登录id是admin,密码也是admin,在下面的程序中将使用以上的数据进行登录的验证。

二、程序实现思路(相关页面阐述)

 1. login.jsp:提供用户的登录表单,可以输入用户id和密码;

 2. login_check.jsp:登录检查页,根据表单提交数据验证权限,并跳转到登录成功页或失败页;

 3. login_success.jsp:登录成功页,显示欢迎信息;

 4. login_failure.jsp:登录失败页,提示错误,并提供重新登录超链接。

三、程序实现

 【login.jsp】删除第一行代码,也可以保存为login.htm文件。

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>www.michaelweb.com</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 language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>www.michaelweb.com</title>
</head>
<body>
<%!
//public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
public static final String DBDRIVER = "com.mysql.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/[你的数据库名]";
public static final String DBUSER = "[你的用户名]";
public static final String DBPASS = "[你的密码]";
%>
<%
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.setString(1,request.getParameter("id"));
pstmt.setString(2,request.getParameter("password"));
rs = pstmt.executeQuery();
if (rs.next()) {
name = rs.getString(1);
flag = true;
}
} catch (Exception e) {
System.out.println(e);
} finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {}
}
%>
<%
if (flag) {
%>
<jsp:forward page="login_success.jsp">
<jsp:param name="username" value="<%=name%>"/>
</jsp:forward>
<%
} else {
%>
<jsp:forward page="login_failure.jsp"/>
<%
}
%>
</body>
</html>


 【login_success.jsp】

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>www.michaelweb.com</title>
</head>
<body>
<center>
<h1>登录操作</h1><hr>
<h2>登录成功</h2>
<h2>欢迎<font color="red"><%=request.getParameter("username")%></font>光临!</h2>
</center>
</body>
</html>


 【login_failure.jsp】删除第一行代码,也可保存为login_failure.htm文件。

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>www.michaelweb.com</title>
</head>
<body>
<center>
<h1>登录失败</h1><hr>
<h2>登录失败,请重新<a href="login.jsp">登录</a>!</h2>
</center>
</body>
</html>


四、程序运行结果







五、结尾

 以上即是该实验的相关过程和结果,参考书籍:《Java Web开发实战经典》(基础篇)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: