当前位置: 首页 > 知识库问答 >
问题:

获取JSP servlet会话时,返回空值

樊浩初
2023-03-14

我将jsp/servlets用于一个基本的ajax应用程序。我正在用servlet设置一个会话,但返回了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工作得很好,只是会话检索似乎是个问题。在第一个if()中设置数据后,我就可以提取数据。但当我做另一个post请求时,它返回为空。我需要另一个HttpSession吗?非常感谢您的帮助,我是一名PHP开发人员,不是JSP,所以对我来说非常新鲜!

共有1个答案

公冶宏深
2023-03-14

你真的需要单独的如果吗?

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

请参阅文档http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getSession(布尔值)

 类似资料:
  • 本文向大家介绍js获取会话框prompt的返回值的方法,包括了js获取会话框prompt的返回值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js获取会话框prompt的返回值的方法。分享给大家供大家参考。具体分析如下: 获取会话框prompt的返回值,见例子: 注意: prompt返回数据类型是字符串。 alert():无返回值; confirm():返回true 或 false

  • 我在我的程序中使用Hibernate注释,但它出错了。它没有返回我打开的会话工厂。我使用了netbean IDE,当我调试我的程序时,它想打开一个会话,下一步,它会转到,而不做任何其他事情。 这是我的文件夹。 在此输入图像描述 这是我的hibernate util 是我的类得到了会话工厂,但是得到了错误 然后在下一步之后也去上这门课 在此输入图像描述

  • 我正在制作Minecraft插件,它将与discord进行通信,但当我试图通过id获取帮会时,它将返回null。 这是我建立JDA的地方。类Verify命令是命令执行器,我试图从它得到公会。

  • 我得到了这个错误,我知道这个问题已经在这里解决过了,因为人们没有在函数中添加返回->。我不明白为什么这仍然给我带来错误。

  • 我将数据保存到会话中,但是我尝试将其读回,结果为空。Spring MVC是我的后端,Angular 4是前端。 爪哇: 角: 你知道我错过了什么吗?也许是CORS的事?

  • 我正在iOS上构建一个小应用程序,使用Spotify SDK向其Web Api发出请求。问题是,我正在使用函数每当我想提出请求时,都可以续订令牌。但是对于该函数,文档中说“如果没有指定令牌刷新服务,回调将返回nil作为会话”。这就是发生在我身上的事。我总是得到一个零“续费期”(https://developer.spotify.com/ios-sdk-docs/Documents/Classes/