编写代码,利用Servlet和JavaBean实现登录验证
时间: 2024-01-30 19:02:20 浏览: 79
通过JSP、JavaBean、JDBC、Servlet技术实现用户登录功能
5星 · 资源好评率100%
首先创建一个JavaBean,用于存储用户信息:
```java
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
```
接下来,创建一个Servlet,用于处理用户登录请求:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 从数据库或其他存储介质中获取用户信息
User user = new User();
user.setUsername("admin");
user.setPassword("123456");
if (username.equals(user.getUsername()) && password.equals(user.getPassword())) {
// 登录成功,将用户信息保存到Session中
request.getSession().setAttribute("user", user);
response.sendRedirect("welcome.jsp");
} else {
// 登录失败,返回登录页面并显示错误信息
request.setAttribute("error", "用户名或密码错误");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
}
```
在上述代码中,我们通过request.getParameter()方法获取用户提交的用户名和密码,然后从数据库中获取对应的用户信息,进行匹配。如果匹配成功,就将用户信息保存到Session中,并跳转到欢迎页面;否则,就返回登录页面并显示错误信息。
最后,创建一个JSP页面,用于显示登录表单:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<h1>登录页面</h1>
<form action="login" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>密码:</label><input type="password" name="password"><br>
<input type="submit" value="登录">
<c:if test="${not empty error}">
<font color="red">${error}</font>
</c:if>
</form>
</body>
</html>
```
在上述代码中,我们通过form标签设置了登录表单的提交地址为"login",即由LoginServlet来处理登录请求。同时,我们还使用了JSTL标签<c:if>来判断是否有错误信息需要显示。
阅读全文