java - 获取 JSP servlet session ,返回空值

标签 java jsp session servlets

我正在使用 jsp/servlet 来构建基本的 ajax 应用程序。我正在使用 servlet 设置 session ,但返回的是 null。我的代码片段如下:

Servlet:

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 工作正常,只是 session 检索似乎是一个问题。一旦在第一个 if() 中设置了数据,我就可以提取数据。但是当我执行另一个发布请求时,它返回为空。我需要另一个 HttpSession 吗?非常感谢任何帮助,我是 PHP 开发人员而不是 JSP,所以它对我来说非常陌生!

最佳答案

你真的需要单独的 if 吗?

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

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

关于java - 获取 JSP servlet session ,返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504514/

相关文章:

javascript - 在 Angular 中检查 sessionStorage 并将变量传递给 $scope 的正确方法是什么?

java - 如何使用 GSON 命名 JSON 对象数组?

java - 当我尝试将此特定字符串解析为 int 时,为什么会出现 numberformatException?

jsp - 如何通过单击 JSP 页面中的超链接或按钮将当前项目传递给 Java 方法?

java - 如何获取 Spring 中所有 session 的列表?

node.js - 如何在 ReactJs API 调用上维护 Node 后端的 session

java - session 是如何处理的?

java - 如何在 60 秒后停止 java 中正在运行的方法

java - Spring 启动: JSP not found (404)

java - 使用 JavaScript 传递属性值