2.模拟实现一个用户登录功能,用户登陆成功后,跳转后的页面显示用户的用户名和密码。假设用户登录的用户名为itcast,密码为123,要求使用EL表达式实现用户名和密码的显示。
时间: 2024-02-18 20:59:14 浏览: 56
好的,我可以帮你实现这个功能。首先,你需要创建一个登录页面,让用户输入用户名和密码。假设你已经创建好了一个名为"login.jsp"的登录页面,以下是实现该功能的步骤:
1. 在login.jsp页面中,添加一个表单,包含用户名和密码的输入框,以及一个提交按钮。表单的action属性指向一个名为"login"的servlet。
2. 在"login" servlet的doPost方法中,获取用户输入的用户名和密码,并将其与预设的用户名和密码进行比较。如果验证通过,将用户名和密码保存到session中,并跳转到一个名为"welcome.jsp"的欢迎页面;否则,返回登录页面并提示用户输入错误的信息。
3. 在"welcome.jsp"页面中,使用EL表达式获取保存在session中的用户名和密码,并将其显示在页面上。
以下是示例代码:
login.jsp:
```html
<form action="login" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="登录">
</form>
```
LoginServlet.java:
```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("welcome.jsp");
} else {
request.setAttribute("error", "用户名或密码错误");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
}
```
welcome.jsp:
```html
欢迎您,${sessionScope.username},您的密码是:${sessionScope.password}
```
这样,当用户输入正确的用户名和密码并提交表单后,就会跳转到"welcome.jsp"页面,页面上会显示用户的用户名和密码。