如何显示错误消息,当重定向回不同的 servlet 时仍然存在?

我有一个名为 LoginPage 的 java servlet,它是用户将登录信息输入表单的可视界面,还有另一个名为 Login 的 servlet,它是一个临时页面,仅用于检查、查询数据库以确认它是在重定向到另一个 servlet 之前确实是一个有效的登录。


//LoginPage

try (PrintWriter out = response.getWriter()) {

            out.println("<!DOCTYPE html>");

            out.println("<html>");

            out.println("<head>");

            out.println("<title>Login</title>");        

            out.println("</head>");

            out.println("<body>");

            out.println("<h1>Activities Week Login</h1></br>");

            out.println("<form action=\"login\" method=\"post\">"

                    + "Email:</br>"

                    + "<input type='text' name='Email'></br>"

                    +"Password:</br>"

                    + "<input type='password' name='Password'></br></br>"

                    + "<input type='submit' value='Submit'></form>");

            out.println("</br></br></br>");

            out.println("Dont have an account yet? <a href=\'createaccountpage\'>Create one.</a></br></br>");

            out.println("Forgotten your password? <a href=\'forgottenpasswordpage\'>Reset it.</a>");

            out.println("</body>");

            out.println("</html>");

        }


如果提供的登录信息不正确,如何在重定向回 LoginPage 时显示仍然存在的错误消息?


我已经看到并尝试了其他一些方法(没有帮助),例如 Login servlet 中已有的方法:


out.println("<meta http-equiv='refresh' content='3;URL=studenthomepage'>");//redirects after 3 seconds

                out.println("<p style='color:green;'>Login successful!</p>");

这种方法不是一个好的解决方案(或者我只是做错了),如果是这样我应该使用什么?


四季花海
浏览 127回答 1
1回答

噜噜哒

您可以set attribute使用message以下内容:&nbsp;String msg=&nbsp; "Sorry !! You have an error";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; request.getSession().setAttribute("msg", msg);//setting attribute&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // forwards message to your page&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;request.getRequestDispatcher("yourloginpage").forward(request,response);现在,在您login page的表格顶部写下如下所示:&nbsp; &nbsp; &nbsp;HttpSession session = request.getSession();//getting session&nbsp; &nbsp; &nbsp;String msg;&nbsp; &nbsp;//checking if msg is not null&nbsp;&nbsp; &nbsp; &nbsp; if(session.getAttribute("msg")!=null){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msg= (String)session.getAttribute("msg");&nbsp; &nbsp; &nbsp; &nbsp; out.println("<p style='color:green;'> "+msg+"</p>"); //printing message&nbsp; &nbsp; &nbsp; &nbsp;}希望这对你有帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java