需求說明
管理員登陸頁面
- 用戶名、密碼文本框
- 使用JS檢測密碼一致性、表單非空驗證
業務處理頁面
- 獲取登錄頁面處理數據
- 訪問數據庫查詢用戶名和密碼是否正確
- 根據查詢結果跳轉到成功或失敗頁面
代碼
regist.jsp:
<%--
Created by IntelliJ IDEA.
User: 長風
Date: 2019/9/18
Time: 22:33
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用戶注冊</title>
</head>
<body>
<form name="myform" method="post" action="control.jsp" onsubmit="return checkUserInfo()" >
用戶名:<input type="text" name="Username" value=""><br>
輸入密碼:<input type="password" name="pass" value=""><br>
確認密碼:<input type="password" name="rpass" value=""><br>
<input type="submit" value="注冊">
</form>
<script type="text/javascript">
function checkUserInfo() {
if (document.myform.Username.value=="") {
alert("用戶名不能為空");
return false;
}
if (document.myform.pass.value==""){
alert("密碼不能為空");
return false;
}
if (document.myform.rpass.value!=document.myform.pass.value) {
alert("兩次輸入的密碼不統一");
return false;
}
}
</script>
</body>
</html>
control.jsp:
<%@ page import="java.sql.*" %>
<%@ page import="javax.security.auth.login.LoginContext" %>
<%--
Created by IntelliJ IDEA.
User: 長風
Date: 2019/9/18
Time: 22:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>control</title>
</head>
<body>
<%!
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/webstore?&useSSL=false&serverTimezone=UTC";
public static final String DBUSER = "root";
public static final String DBPASS = "123456";
%>
<%!
String name = null;
String pwd = null;
Connection conn = null;
%>
<%
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
request.setCharacterEncoding("utf-8");
name = request.getParameter("Username");
pwd = request.getParameter("pass");
String sql = "insert into users(uname,upwd) values ('"+name+"','"+pwd+"')";
PreparedStatement pstmt = conn.prepareStatement(sql);
int validate = pstmt.executeUpdate();
if (validate != 0) {
%>
<jsp:forward page="loginUsers.jsp"></jsp:forward>
<%
} else {
out.println("<font color='red'>出錯了!</font>");
}
} catch (Exception e) {
e.printStackTrace();
}
%>
<%--<%
request.setCharacterEncoding("utf_8");
String name=request.getParameter("Username");
%>
mingzi:<%=name%>--%>
</body>
</html>
loginUsers.jsp:
<%--
Created by IntelliJ IDEA.
User: 長風
Date: 2019/9/21
Time: 19:36
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.sql.*" %>
<html>
<head>
<title>管理員頁面</title>
</head>
<body>
<%!
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/webstore?&useSSL=false&serverTimezone=UTC";
public static final String DBUSER = "root";
public static final String DBPASS = "123456";
%>
<%
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
%>
<%
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
request.setCharacterEncoding("utf-8");
String sql_select = "select * from users";
pst = conn.prepareStatement(sql_select);
rs = pst.executeQuery();
%>
<table border="1">
<tr>
<td>id</td>
<td>用戶名</td>
<td>密碼</td>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%= rs.getString(1) %>
</td>
<td><%= rs.getString("uname")%>
</td>
<td><%= rs.getString("upwd")%>
</td>
</tr>
<%
}
} catch (Exception e) {
out.println(e);
}
%>
</table>
</body>
</html>
效果演示
頁面檢測:

成功界面:
