创建一个Web项目LoginDemo,创建四个页面login.jsp、do_login.jsp、success.jsp和failure.jsp页面,并且将login.jsp设置为项目首页文件
代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="login" method="post">
<table border="1" cellpadding="10" style="margin: 0px auto">
<tr>
<td align="center">用户名</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td align="center">密 码</td>
<td><input type="password" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="登录"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
<%
String errMsg = (String) session.getAttribute("errMsg");
if (errMsg != null) {
out.println("<p style='text-align: center; color: red'>" + errMsg + "</p>");
}
%>
</body>
</html>
代码如下:
`<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="login" method="post">
<table border="1" cellpadding="10" style="margin: 0px auto">
<tr>
<td align="center">用户名</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td align="center">密 码</td>
<td><input type="password" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="登录"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
<%
String errMsg = (String) session.getAttribute("errMsg");
if (errMsg != null) {
out.println("<p style='text-align: center; color: red'>" + errMsg + "</p>");
}
%>
</body>
</html>`
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1e5a45a4412e83dd5989318b33fc02ce.png)
代码如下:`<%@ page import="javax.xml.transform.Result" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.sql.*" %>
<%@ page import="net.zxk.dbutil.ConnectionManager" %>
<%@ page import="net.zxk.dao.UserDao" %>
<%@ page import="net.zxk.dao.impl.UserDaoImpl" %>
<%
//设置请求对象字符编码
request.setCharacterEncoding("utf-8");
//获取表单提交数据
String username =request.getParameter("username");
String password =request.getParameter("password");
//创建数据访问对象
UserDao userDao =new UserDaoImpl();
//获取数据库连接
// Connection conn = ConnectionManager.getConnection();
//
// //设置连接数据库的参数值
final String DRIVER ="com.mysql.jdbc.Driver";
final String URL ="jdbc:mysql://localhost:3306/zxk";
final String USER ="root";
final String PASSWORD ="1998";
//
// //安装数据库驱动程序
try {
Class.forName(DRIVER);
//获取数据库的连接
Connection conn = DriverManager.getConnection(URL,USER,PASSWORD);
// //定义SQL字符串
// String strSQL ="select * from t_user where username= ? and password=?";
// //创建预备语句对象
// PreparedStatement pstmt =conn.prepareStatement(strSQL);
// //设置占位符的值
// pstmt.setString(1,username);
// pstmt.setString(2,password);
//
// //执行SQL语句,返回结果集
// ResultSet rs=pstmt.executeQuery();
//判断结果集里面是否有记录
if(userDao.login(username,password)){
//清除session里面可能存在的errMsg属性
if(session.getAttribute("errMsg") !=null){
session.removeAttribute("errMsg");
}
//采用重定向,跳转到登录界面
response.sendRedirect("success.jsp?username=" + URLEncoder.encode(username,"utf-8"));
}else{
//设置session里的errMsg属性
session.setAttribute("errMsg","用户名或密码错误,请重新登录");
response.sendRedirect("login.jsp");
// }
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// } catch (SQLException e) {
// e.printStackTrace();
}
%>
<%--
Created by IntelliJ IDEA.
User: ZXK
Date: 2019/10/9
Time: 9:07
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<h3><%= request.getParameter("username")%>,登录成功</h3>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: ZXK
Date: 2019/10/9
Time: 9:07
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录失败</title>
</head>
<body>
<h3><%= request.getParameter("username")%>,登录成功</h3>
</body>
</html>