Java Servlet会话属性

时间:2014-09-01 08:32:02

标签: session

我想了解为什么会这样。

我正在使用Tomcat 7和java。

我创建了一个jsp页面,它创建了一个session属性,其中包含一个HashMap和一个从会话中检索HashMap的servlet。

我不明白为什么如果servlet从HashMap中删除一个项但没有执行setAttribute函数,jsp会检索session属性,现在HashMap中只有一个项。

这是我的例子:

JSP:

Map<Integer, String> testMap = new HashMap<Integer, String>(); testMap.put(1, "Apple"); testMap.put(2, "Orange"); request.setAttribute("testMap", testMap);

System.out.println("testMap count: " + testMap.size()); // => returns 2

的Servlet

Map<Integer, String> testMap = new HashMap<Integer, String>(); testMap = (Map<Integer, String>)session.getAttribute("testMap"); testMap.remove(1);

此时,我没有在servlet中使用setAttribute(“testMap”,testMap),但是当我的jsp在会话中访问这个testMap时,计数是1 ???

请帮助我理解原因。

由于

0 个答案:

没有答案