我使用 HTML 创建了一个注册表单,并在 HTML 中添加了一个登录页面。登录后,我需要在一系列页面的顶部显示用户名。我已经知道如何在 PHP 中做到这一点,但我想知道我是否可以用 JSP 做到这一点。如果我能做到,该怎么做。
问问题
9725 次
1 回答
2
假设用户已在您的 servlet(或另一个控制器)中成功验证并通过系统身份验证,然后只需将User
对象保存在会话中,然后在需要的地方检索它。一个基本的例子:
在您的 servlet 中:
public void doPost(HttpServletRequest request, HttpServletResponse response) {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = new UserService().login(username, password);
if (user != null) {
//success!
//save the user data in session scope
HttpSession session = request.getSession();
session.setAttribute("user", user);
//do your forward or redirect...
}
//do your forward or redirect to show error messages...
}
然后在您的 JSP 代码中,您可以使用Expression Language访问user
会话属性,而不是scriptlet(有关避免使用 scriptlet 的更多信息:如何避免 JSP 文件中的 Java 代码?)。
<div id="top">
<!-- this assumes your User class has a username field with a valid getter -->
Hello ${user.username}
</div>
于 2013-09-20T21:31:51.040 回答