如果user1进入servlet以下,则会将当前时间(以毫秒为单位)添加到会话变量中。如果user2在user1之后的某个时间实例化该servlet,则会话变量将被设置为新的时间。当用户1& user2请求这个会话值每个都有自己唯一的值? user2会覆盖user1会话val吗?
public void doGet(HttpServletRequest request, HttpServletResponse response) {
request.getSession().setAttribute("time", System.currentTimeMillis());
try {
response.getWriter().print("Time is set");
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:3)
每个用户都有自己的会话。用户将无法看到彼此的会话(如果可以,系统会出现严重错误)。
编辑(感谢Richard H):servlet容器将通过查看请求自动找到当前用户的会话;请求将包含带有会话ID的标头或cookie,以便容器知道哪个用户正在执行请求。
答案 1 :(得分:1)
不,user2不会覆盖user1的会话值,因为它有自己的会话实例。维基百科在web sessions上有一个非常好的部分。
答案 2 :(得分:0)
两者都有不同的值。 user1&将会有2个会话。用户2。 User2不会覆盖
答案 3 :(得分:0)
Servlet容器管理用户会话。每个用户都会收到一个JSESSIONID
,这是一个会话ID,浏览器(或用户代理)将会话ID发送到servlet容器以检索特定用户。