模拟实现一个用户登录功能,用户登陆成功后,跳转后的页面显示用户的用户名和密码。假设用户登录的用户名为itcast,密码为123,要求使用EL表达式实现用户名和密码的显示。
时间: 2024-05-01 22:21:36 浏览: 114
好的,这个问题可以通过以下代码实现:
首先,编写一个登录页面 login.jsp,包含用户名和密码的表单:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="login.do" method="post">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密 码:</label>
<input type="password" name="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
```
然后,编写一个登录处理的 Servlet,命名为 LoginServlet,处理用户提交的表单数据:
```java
package com.example;
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("/login.do")
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");
if ("itcast".equals(username) && "123".equals(password)) {
request.setAttribute("username", username);
request.setAttribute("password", password);
request.getRequestDispatcher("/welcome.jsp").forward(request, response);
} else {
response.sendRedirect(request.getContextPath() + "/login.jsp");
}
}
}
```
在登录成功后,将用户名和密码存储到 request 中,并转发到 welcome.jsp 页面:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎页面</title>
</head>
<body>
<h1>欢迎您,${username}!</h1>
<p>您的密码是:${password}</p>
</body>
</html>
```
在 welcome.jsp 页面中,使用 EL 表达式 ${username} 和 ${password} 分别显示用户名和密码。
这样,当用户输入正确的用户名和密码后,将会跳转到欢迎页面,显示用户的用户名和密码。
阅读全文