1. 数据库创建脚本:
/*======================= 使用MLDN数据库 =======================*/
USE weitang;
/*======================= 删除user数据表 =======================*/
DROP TABLE IF EXISTS user ;
/*======================= 创建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','admin','12345') ;
2. login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login_check.jsp" method="post">
<input type="text" name="id" />
<input type="password" name="password" />
<input type="submit" value="提交" />
</form>
</body>
</html>
3. login_check.jsp
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title></title>
</head>
<body>
<%!// 定义若干个数据库的连接常量
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/weitang";
public static final String DBUSER = "root";
public static final String DBPASS = "123456";%>
<%
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()) { // 如果有数据,则可以执行
flag = true; // 表示登陆成功
name = rs.getString(1);
}
%>
<%
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {
}
}
%>
<%
if (flag) { // 登陆成功
%>
<jsp:forward page="login_success.jsp">
<jsp:param name="uname" value="<%=name%>" />
</jsp:forward>
<%
} else { // 登陆失败
%>
<jsp:forward page="login_failure.html" />
<%
}
%>
</body>
</html>
4. login_success.jsp
<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title></title>
</head>
<body>
<h1>登陆操作</h1>
<h2>登陆成功</h2>
<h2>
欢迎<font color="red"><%=request.getParameter("uname")%></font>光临!
</h2>
</body>
</html>
5. login_failure.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>login fail</h2>
</body>
</html>