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);
}
}