模拟实现一个用户登录功能,用户登陆成功后,跳转后的页面显示用户的用户名和密码。假设用户登录的用户名为itcast,密码为123,要求使用EL表达式实现用户名和密码的显示
时间: 2024-03-26 18:34:31 浏览: 124
模拟用户登陆
好的,我可以为您提供一个简单的实现。
首先,您需要一个登录页面,其中包含一个表单,用于输入用户名和密码。在表单提交时,您需要验证用户名和密码是否正确。如果验证通过,则可以将用户的用户名和密码存储在会话中,并将用户重定向到另一个页面。
下面是一个示例的登录页面:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Page</title>
</head>
<body>
<h1>Login</h1>
<form method="post" action="${pageContext.request.contextPath}/login">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
在上面的代码中,我们定义了一个表单,其中包含用户名和密码的输入框,以及一个提交按钮。表单的 `action` 属性指定了提交表单时要调用的 servlet 的 URL。
接下来,您需要编写一个 servlet 来处理登录请求。在 servlet 中,您可以读取表单参数,验证用户名和密码是否正确。如果验证通过,您可以将用户名和密码存储在会话中,并将用户重定向到另一个页面。下面是一个示例的 servlet:
```java
@WebServlet("/login")
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)) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
session.setAttribute("password", password);
response.sendRedirect(request.getContextPath() + "/welcome.jsp");
} else {
response.sendRedirect(request.getContextPath() + "/login.jsp");
}
}
}
```
在上面的代码中,我们首先读取表单参数 `username` 和 `password`。如果用户名和密码正确,我们将它们存储在会话中,并将用户重定向到 `welcome.jsp` 页面;否则,我们将用户重定向回登录页面。
最后,您需要编写一个 `welcome.jsp` 页面来显示用户的用户名和密码。在 JSP 中,您可以使用 EL 表达式来获取会话中存储的用户名和密码,并将它们显示在页面上。下面是一个示例的 `welcome.jsp` 页面:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome Page</title>
</head>
<body>
<h1>Welcome, ${sessionScope.username}!</h1>
<p>Your password is: ${sessionScope.password}</p>
</body>
</html>
```
在上面的代码中,我们使用 EL 表达式 `${sessionScope.username}` 和 `${sessionScope.password}` 来获取会话中存储的用户名和密码,并将它们显示在页面上。
这就是一个简单的用户登录功能的实现。希望能够帮助到您!
阅读全文