我只是想知道打印会话对象的输出是否像
System.out.println(sessiononject);
将返回会话的创建时间。我将会话对象存储在静态哈希图中,并从该图中取回它,而在打印它时,我正在获取会话的创建时间。但是,我并不总是抽时间。在各种系统和浏览器中浏览应用程序时,只需检查以下输出即可。
{2F41393827EA02BB912CDCC194C42398.PicoEMS1 = 1326098069115,
46E427BAA0B42D8E1E27C533C32DB977.PicoEMS1 = 1325858091647,
4D4CF0A25E1A5F72AA45F5515C4FA819.PicoEMS1 = 1326100008712,
5D2A80DE7C8EEEA203EE0B1512F78829.PicoEMS1 = 1325856576256,
376D666C75324C1537A6B213252237EF.PicoEMS1 = 1325856598874,
9391A162E03ED4ED4E955C742D65A2A5.PicoEMS1 = 1326098775911,
5DCDF4A60B752961CBB19C0DB409F0D8.PicoEMS1=org.apache.catalina.session.StandardSessionFacade@78e2e186,AEA530F9F9AAC4B7E5DA8BC186E0DA27.PicoEMS1 = 1326090775861,
5059EA4503876B7090F860DCF656A7E2.PicoEMS1 = 1326090718239,
6D211D34CE2E868497A1FE5BA49EA099.PicoEMS1=org.apache.catalina.session.StandardSessionFacade@26948cb9,B131BA54A0ECB610C3A17474FD170136.PicoEMS1 = 1326097413641,
1F9114E0449141476DAD3414B1970D54.PicoEMS1 = 1326090779510,
5B088728E4D538322D467C8CD30DACFB.PicoEMS1 = 1326097184254,
DAA2BF5FBE5EC978515C54286D926821.PicoEMS1 = 1325857115881,
A9D8316862274DB662A3D667EB58B1D5.PicoEMS1=org.apache.catalina.session.StandardSessionFacade@3cff49ab,DC89F419C17A85C5C19199F7920F7DB7.PicoEMS1 = 1325858502804,
45993E1463023E4012F23502E65C7FAB.PicoEMS1=org.apache.catalina.session.StandardSessionFacade@e32dec9,
B22C74666E9C8FEF3032D7CFD3D082E9.PicoEMS1 = 1326099308589,
CA752CF89E312252EA9DE17E9F97DA02.PicoEMS1 = 1326089242002,
0BC1E77C07BB8FAE68C83EBC09A4D9AC.PicoEMS1 = 1325857788710,
564F44ADECF7E9E5B159413E6D887B9D.PicoEMS1 = 1325858173676,
640AC2C85C0769A43810A4CA7B259F9B.PicoEMS1 = 1326089213514,
B7EE7FA8EF8EE03E34577484A5EA139F.PicoEMS1 = 1326098769596,
A878787663A83AC6F1BC8E22D2CB70D5.PicoEMS1 = 1325857982977}
上面的几行是存储在静态哈希图中的会话对象。
使用创建时间来查找上次访问时间是不一致的。
最佳答案
HttpSession是一个接口,其toString方法没有指定的行为。由于您无法在任何给定的时间或任何给定的版本中依靠应用程序服务器的任何特定实现来依靠应用程序服务器,因此,取决于其toString的输出对于程序的正确性是一个坏主意!正如您所观察到的,您将在Map中看到它的两种不同实现。