Java EE制作用户登录界面,编写一个servlet类,在该类中获取表单中提交的用户名和密码,并验证身份,验证通过后输出用户名,否则跳转登录界面
时间: 2024-09-14 14:08:15 浏览: 42
在Java EE中制作用户登录界面,通常会涉及到前端的JSP页面和后端的Servlet处理。以下是一个简单的例子来说明如何实现这一过程:
1. 创建一个JSP登录表单页面,例如 `login.jsp`,该页面包含用户名和密码的输入字段以及提交按钮。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="LoginServlet" method="post">
用户名: <input type="text" name="username" /><br />
密码: <input type="password" name="password" /><br />
<input type="submit" value="登录" />
</form>
</body>
</html>
```
2. 创建一个Servlet类 `LoginServlet.java`,用于处理登录请求。在这个类中,我们将获取从表单提交的用户名和密码,并进行验证。
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取表单提交的用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
// 假设这里是验证逻辑,验证用户名和密码是否为"admin"和"admin123"
if ("admin".equals(username) && "admin123".equals(password)) {
// 验证通过,跳转到欢迎页面,并显示用户名
request.getSession().setAttribute("username", username);
response.sendRedirect("welcome.jsp"); // 假设存在welcome.jsp页面
} else {
// 验证不通过,跳转回登录页面
response.sendRedirect("login.jsp");
}
}
}
```
在实际应用中,用户的身份验证通常会与后端数据库进行交互,而不是简单的硬编码验证。同时,密码应该经过加密处理,以保证安全性。
3. 创建一个欢迎页面 `welcome.jsp`,用于在验证通过后显示。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>欢迎页面</title>
</head>
<body>
<h1>欢迎,${sessionScope.username}!</h1>
</body>
</html>
```
阅读全文