我正在尝试使用会话进行登录/注销验证

这是场景
我有一个login.html,它将请求提交到Login.java以验证用户名和密码
验证之后,将转到具有注销按钮和表单的main.jsp。
我想确保在使用后退按钮注销后,用户不应看到main.jsp或对表单执行任何操作。

这是我在Login.java中拥有的

public class Login extends HttpServlet {
    private ServletContext context=null;
    private RequestDispatcher dispatcher = null;
    private String toDo = "";

    public void doPost(HttpServletRequest request,
              HttpServletResponse response)
                        throws IOException, ServletException  {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        if(PasswordUtilities.isValidLogin(username,password)) {
            toDo = "/jsp/main.jsp";

            HttpSession session = request.getSession();
        session.setAttribute("username", "abc");
        System.out.println("login"+(String)request.getAttribute("username"));
            }
        else
            toDo = "/error.html";
        context = getServletContext();
        dispatcher = context.getRequestDispatcher(toDo);
        dispatcher.forward(request, response);
    }
}


但我得到的属性为空。

请帮助,任何帮助将不胜感激。

最佳答案

您将其设置为session并从request读取

    session.setAttribute("username", "abc");
    System.out.println("login"+(String)request.getAttribute("username"));

07-24 09:38
查看更多