如何实现没有代码重复的登录页面

时间:2009-10-08 05:29:34

标签: jsp servlets login

我目前正在使用JSP / Java Servlets创建一个DVD浏览系统,并且无法找到一种方法来使我的登录页面更有效率。

我当前的登录系统执行此操作: 当用户提交正确的电子邮件/密码组合时,servlet会检查组合是否正确并将其重定向到大厅页面。如果密码错误,它们将被发送到/retry.jsp页面,该页面基本上是登录页面的副本,并带有额外的

,表明密码错误。

我认识到这不是最好的方法,但有没有一种实现可靠登录页面的替代方法?

修改 我找到了解决问题的方法,尽管可能不是最好的。如果使用了错误的用户名/密码组合,我使用会话变量来保存值“badlogin”。如果此会话变量存在,则会显示“错误密码”消息。对此有何评论?

2 个答案:

答案 0 :(得分:4)

我没有使用过JSP,但在我使用过的大多数Web应用程序框架中,可以使用变量在模板中切换和显示错误消息。您对两个视图使用相同的页面,但是当显示失败的尝试时,会插入一个带有相应消息的额外div。

答案 1 :(得分:0)

您可以让servlet验证密码:

例如:

在登录页面jsp:

<%
if(request.getAttribute("passwordError")!=null){
out.print(request.getAttribute("passwordError");
}
%>

In the Servlet

if(request.getParameter("password")!=null&&request.getParameter("password").equals("correctPassword"){
// Redirect to Lobby Page
}

else{
request.setAttribute("passwordError", "Incorrect Password");
// Send back to login page
}

这将在登录页面上显示密码错误,避免页面重复和使用会话的需要。

希望这有帮助。

托拜厄斯。