Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 其中HttpSession';是否将存储s setAttribute(“attributename”,object)对象?_Java_Session_Tomcat_Httpsession - Fatal编程技术网

Java 其中HttpSession';是否将存储s setAttribute(“attributename”,object)对象?

Java 其中HttpSession';是否将存储s setAttribute(“attributename”,object)对象?,java,session,tomcat,httpsession,Java,Session,Tomcat,Httpsession,我只想知道schoolId属性存储在哪里。它要么在web容器(例如tomcat)中,要么在内存(例如RAM)中。 如果在服务器上,我会在哪个位置找到这些属性?SchooldId保存在HttpSession中(在tomcat上)。HttpSession本身存储在服务器的内存(RAM)中。只有当同一http会话的新请求到达服务器时,才能再次查找该值。SchoolId将存储在httpSession对象中。HttpSession将在tomcat或任何其他应用程序/web服务器中创建您认为容器使用的内存以

我只想知道
schoolId
属性存储在哪里。它要么在web容器(例如tomcat)中,要么在内存(例如RAM)中。
如果在服务器上,我会在哪个位置找到这些属性?

SchooldId保存在HttpSession中(在tomcat上)。HttpSession本身存储在服务器的内存(RAM)中。只有当同一http会话的新请求到达服务器时,才能再次查找该值。

SchoolId将存储在httpSession对象中。HttpSession将在tomcat或任何其他应用程序/web服务器中创建

您认为容器使用的内存以外的其他内存是什么?检查此答案可能存在JVM的副本正在服务器上运行,因此JVM中不同的内存区域(如堆栈、堆、方法区域)用于存储数据。HttpSession属性存储在哪个区域。如果我在上面的句子中错了,请纠正我。会话是一个java对象,因此将存储在堆中。服务器如何知道此属性是针对特定用户的,它是否将会话Id和属性存储在堆中?这确实取决于服务器的实现,但我认为可以将其存储在HashMap中(也将包含在堆中)。
class SessionStorage extends HttpServlet
{       
   public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
        HttpSession session=request.getSession();
        int schoolId=100;
        session.setAttribute("schoolId", schoolId);     
    }

}