1、登录页面login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<%
String s=(String)session.getAttribute("error");
if (s!=null){
%>
<span style="color: red">用户名或密码错误</span>
<%
}
%>
<form name="inputInfo" action="loginpost.jsp" method="post">
<table>
<tr>
<td>商城后台</td>
</tr>
<tr>
<td>用户名</td>
<td><input name="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input name="password" type="password"></td>
</tr>
<tr>
<td> <input type="submit" value="登录"></td>
</tr>
</table>
</form>
</body>
</html>
2、登录提交页面loginpost.jsp,在此页面进行数据库连接,把登录页面提交的用户名和密码获取出来,然后用sql语句查询tb_user表中的数据,若能查询到,就转发到主页面main.jsp,若查询不到,则重定向回登录页面,并提示用户名或密码错误。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
String userName = request.getParameter("username");
String userPWD = request.getParameter("password");
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/cst";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功");
String sql = "select * from tb_user where username='" + userName + "' and password='" + userPWD + "'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery(sql);
if (rs.next()) {
request.getRequestDispatcher("main.jsp").forward(request,response);
} else {
session.setAttribute("error","用户名或密码错误");
response.sendRedirect("login.jsp");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
%>
</body>
</html>
3、运行结果
首先输入错误的用户名和密码
点击登录,就会重定向到登录页面,并提示用户名或密码错误
接着输入正确的用户名和密码
点击登录,就会进入后台管理页面