Jsp 如何实现无代码重复的登录页面

Jsp 如何实现无代码重复的登录页面,jsp,servlets,login,Jsp,Servlets,Login,我目前正在使用JSP/JavaServlets制作dvd浏览系统,我很难找到一种方法来提高我的登录页面的效率 我当前的登录系统执行以下操作: 当用户提交正确的电子邮件/密码组合时,servlet会检查组合是否正确,并将其重定向到大厅页面。如果密码错误,它们将被发送到a/retry.jsp页面,该页面基本上是登录页面的副本,并有一个额外的说明密码错误 我知道这不是最好的方法,但是有没有其他方法来实现一个可靠的登录页面呢 编辑 我找到了一种解决我问题的方法,尽管可能不是最好的。如果使用了错误的用户名

我目前正在使用JSP/JavaServlets制作dvd浏览系统,我很难找到一种方法来提高我的登录页面的效率

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

我知道这不是最好的方法,但是有没有其他方法来实现一个可靠的登录页面呢

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

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

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

您可以让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
}

在Servlet中
if(request.getParameter(“password”)!=null和request.getParameter(“password”).equals(“correctPassword”){
//重定向到大厅页面
}
否则{
setAttribute(“密码错误”、“密码不正确”);
//发送回登录页面
}
这将在登录页面上显示密码错误,避免页面重复和使用会话的需要

希望这有帮助


Tobias.

您可以让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
}

在Servlet中
if(request.getParameter(“password”)!=null和request.getParameter(“password”).equals(“correctPassword”){
//重定向到大厅页面
}
否则{
setAttribute(“密码错误”、“密码不正确”);
//发送回登录页面
}
这将在登录页面上显示密码错误,避免页面重复和使用会话的需要

希望这有帮助


Tobias.

我认为你的解决方案是正确的。我就是这样做的。如果你能帮助它,就不要使用会话——在这个用例中,你不必使用会话来实现你想实现的目标。这个答案正是你想做的。我认为你的解决方案是正确的。我就是这样做的。如果你能帮助它,就不要使用会话——我也知道在这个用例中,您不必使用会话来实现您想要实现的目标。这个答案正是您想要做的