如果使用JavaScript登录失败,如何在登录页面中显示消息

如果使用JavaScript登录失败,如何在登录页面中显示消息,javascript,html,forms,servlets,Javascript,Html,Forms,Servlets,我开发了一个登录页面,其中用户id和最小密码长度验证由JavaScript完成,我有一个servlet连接到DB并对用户进行身份验证。有人能告诉我,当身份验证失败时,如何在同一登录页面中显示消息吗?HTML(将其放在页面的HTML中,错误消息应显示的位置): if(/*something fails*/){ alert("Login fails!"); } JavaScript: <script type="text/javascript"> var login_suc

我开发了一个登录页面,其中用户id和最小密码长度验证由JavaScript完成,我有一个servlet连接到DB并对用户进行身份验证。有人能告诉我,当身份验证失败时,如何在同一登录页面中显示消息吗?

HTML(将其放在页面的HTML中,错误消息应显示的位置):

if(/*something fails*/){
    alert("Login fails!");
}

JavaScript:

<script type="text/javascript">
var login_success = false;  /* set this to true if the login was a success */

if(login_success == false)
{
    document.getElementById("login_failed").innerHTML = "Login Failed.";
}
else
{
     window.location = "http://www.yourpage.com/login_success.html";
}
</script>

var login_success=false;/*如果登录成功,则将其设置为true*/
如果(登录成功==false)
{
document.getElementById(“登录失败”).innerHTML=“登录失败。”;
}
其他的
{
window.location=”http://www.yourpage.com/login_success.html";
}
HTML(将其放在应显示错误消息的页面HTML中):


JavaScript:

<script type="text/javascript">
var login_success = false;  /* set this to true if the login was a success */

if(login_success == false)
{
    document.getElementById("login_failed").innerHTML = "Login Failed.";
}
else
{
     window.location = "http://www.yourpage.com/login_success.html";
}
</script>

var login_success=false;/*如果登录成功,则将其设置为true*/
如果(登录成功==false)
{
document.getElementById(“登录失败”).innerHTML=“登录失败。”;
}
其他的
{
window.location=”http://www.yourpage.com/login_success.html";
}

在Servlet中打印JavaScript

  • 警报消息:

    System.out.println("<script>alert('Login fail.')</script>");
    
    System.out.println(“警报('Login fail');
    
  • 再次重定向到登录页面:

    System.out.println("<script>window.location='loginUrl'</script>");
    
    System.out.println(“window.location='loginUrl');
    

在Servlet中打印JavaScript

  • 警报消息:

    System.out.println("<script>alert('Login fail.')</script>");
    
    System.out.println(“警报('Login fail');
    
  • 再次重定向到登录页面:

    System.out.println("<script>window.location='loginUrl'</script>");
    
    System.out.println(“window.location='loginUrl');
    

像这样从servlet发送登录失败的标志值

request.setAttribute("loginResult", true);
现在在JSP中获取该值。其默认值将为false。如果为true,则显示错误消息

<%
    if(request.getAttribute("loginResult") != null && request.getAttribute("loginResult") == "true"){
%>
 <p style="color:red"> Login Failed. Please try again. </p>
<%
}
%>

登录失败。请再试一次


对于Javascript,调用函数显示错误,而不是登录失败。请再试一次

来自我上面的代码。

像这样从servlet发送登录失败的标志值

request.setAttribute("loginResult", true);
现在在JSP中获取该值。其默认值将为false。如果为true,则显示错误消息

<%
    if(request.getAttribute("loginResult") != null && request.getAttribute("loginResult") == "true"){
%>
 <p style="color:red"> Login Failed. Please try again. </p>
<%
}
%>

登录失败。请再试一次


对于Javascript,调用函数显示错误,而不是登录失败。请再试一次

来自我上面的代码。

在web.xml中

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/login.jsp?loginerror=100</form-error-page>
  </form-login-config>
</login-config>

在你的web.xml中享受

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/login.jsp?loginerror=100</form-error-page>
  </form-login-config>
</login-config>
享受

在servlet中的
req.setAttribute(“loginResult”,true)
操作之后,我是否应该将请求转发回JSP页面?如下所示:
RequestDispatcher rd=req.getRequestDispatcher(“login.jsp”);转发(请求、响应)
在servlet中的
req.setAttribute(“loginResult”,true)
操作之后,我是否应该将请求转发回JSP页面?如下所示:
RequestDispatcher rd=req.getRequestDispatcher(“login.jsp”);转发(请求、响应)