0

我正在将 jsp/servlets 用于基本的 ajax 应用程序。我正在设置一个与 servlet 的会话,但我得到一个 null 返回。我的代码片段如下:

小服务程序:

protected void doPost(HttpServletRequest request, HttpServletResponse response)         throws  ServletException, IOException {

    String name=null;
    String sessionStrSet = null;


    if(request.getParameter("session").toString().equals("setSession")){

         name = request.getParameter("user");

         HttpSession session = request.getSession(true);
         session.setAttribute("sessionPw", name);
         sessionStrSet = session.getAttribute("sessionPw").toString();

         response.setContentType("text/plain");  
         response.setCharacterEncoding("UTF-8"); 
         response.getWriter().write(sessionStrSet + " " + "data write");

    }

    if(request.getParameter("session").toString().equals("getSession")){
        //how do i retrieve the session data here?
        response.setContentType("text/plain");  
        response.setCharacterEncoding("UTF-8"); 
        response.getWriter().write(sessionStrSet + "get session");
    }


}

ajax 工作正常,只是会话检索似乎是一个问题。一旦在第一个 if() 中设置了数据,我就可以提取数据。但是当我做另一个发布请求时,它会返回为空。我需要另一个 HttpSession 吗?非常感谢任何帮助,我是 PHP 开发人员而不是 JSP,所以它对我来说很新!

4

1 回答 1

1

你真的需要单独的ifs吗?

getSession(true)如果没有当前会话,则返回当前会话或创建新会话。

请参阅文档http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getSession%28boolean%29

于 2013-03-19T16:28:48.720 回答