Java HttpSession对象的输出
我只是想知道打印会话对象的输出是否 System.out.println(sessiononjoint) 将返回会话的创建时间。我将会话对象存储在一个静态哈希映射中,并从映射中获取它,当我打印它时,我将获取会话的创建时间。但是,我不总是有时间。在各种系统和浏览器中浏览应用程序时,只需检查以下输出 {2F41393827EA02BB912CDCC194C42398.PicoEMS1=1326098069115, 46E427BAA0B42D8E1E27C533C32DB977。PicoEMS1=1325858091647, 4D4CF0A25E1A5F72AA45F551C4FA819。PicoEMS1=132610008712, 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,B131BA54A0ECB610C3A174FD170136.PicoEMS1=1326097413641, 1F9114E0449141476DAD34114B1970D54。PicoEMS1=1326090779510, 5B08828E4D538322D467C8CD30DACFB.PicoEMS1=1326097184254, DAA2BF5FBE5EC978515C54286D926821。PicoEMS1=1325857115881, A9D8316862274DB662A3667EB58B1D5.PicoEMS1=org.apache.catalina.session.StandardSessionFacade@3cff49ab,DC89F419C17A85C5C19199F7920F7DB7.PicoEMS1=13258502804, 45993E1463023E4012F23502E65C7FAB.PicoEMS1=org.apache.catalina.session.StandardSessionFacade@e32dec9, B22C74666E9C8FEF3032D7CFD3D082E9。PicoEMS1=1326099308589, CA752CF89E312252EA9DE17E9F97DA02。PicoEMS1=132608924202, 0BC1E77C07BB8FAE68C83EBC09A4D9AC.PicoEMS1=1325857788710, 564F44ADECF7E9E5B159413E6D887B9D。PicoEMS1=1325858173676, 640AC2C85C0769A43810A4CA7B259F9B.PicoEMS1=1326089213514, B7EE7FA8EF8EE03E34577484A5EA139F.PicoEMS1=1326098769596, A87663A83AC6F1BC8E22D2CB70D5.PicoEMS1=1325857982977} 上面几行是存储在静态哈希映射中的会话对象。 使用创建时间查找上次访问时间是不一致的 未指定会话对象的Java HttpSession对象的输出,java,session,Java,Session,我只是想知道打印会话对象的输出是否 System.out.println(sessiononjoint) 将返回会话的创建时间。我将会话对象存储在一个静态哈希映射中,并从映射中获取它,当我打印它时,我将获取会话的创建时间。但是,我不总是有时间。在各种系统和浏览器中浏览应用程序时,只需检查以下输出 {2F41393827EA02BB912CDCC194C42398.PicoEMS1=1326098069115, 46E427BAA0B42D8E1E27C533C32DB977。PicoEMS1=1
对象.toString()
应重新返回的内容。不同的web容器(etc)将实现toString()
来呈现不同的内容,因此编写依赖于特定内容的内容是非常不明智的
您应该使用和类似的方法来访问会话时间戳和其他属性。这就是他们在那里的目的
但是,我只是想确认session对象是否会返回创建时间,以及在什么情况下无法返回创建时间 嗯?通过调用
toString()
,您不会发现这一点
javadoc说,getCreationTime()
对于已失效的会话不起作用。除此之外,它应该是有效的 未指定会话对象的对象.toString()
应重新返回的内容。不同的web容器(etc)将实现toString()
来呈现不同的内容,因此编写依赖于特定内容的内容是非常不明智的
您应该使用和类似的方法来访问会话时间戳和其他属性。这就是他们在那里的目的
但是,我只是想确认session对象是否会返回创建时间,以及在什么情况下无法返回创建时间 嗯?通过调用
toString()
,您不会发现这一点
javadoc说,
getCreationTime()
对于已失效的会话不起作用。除此之外,它应该是有效的 HttpSession是一个接口,它的toString方法没有指定的行为。由于您不能指望应用服务器在任何给定的时间或在任何给定的版本中使用它的任何特定实现,因此依靠其toString的输出来确保程序的正确性是一个坏主意!正如您所观察到的,您在地图中看到了它的两种不同实现。HttpSession是一个接口,它的toString方法没有指定的行为。由于您不能指望应用服务器在任何给定的时间或在任何给定的版本中使用它的任何特定实现,因此依靠其toString的输出来确保程序的正确性是一个坏主意!正如您所观察到的,您在地图中看到了它的两种不同实现。为什么不使用HttpSession#getCreationTime()
:是的。我可以用。但是,我只是想确认会话对象是否会返回创建时间,以及在什么情况下无法返回创建时间。为什么不使用HttpSession\getCreationTime()
:是的。我可以用。但是,我只是想确认会话对象是否会返回创建时间,以及在什么情况下无法返回创建时间((HttpSession)(map.get(“whatever”)).getCreationTime()
但是,如何在简单的java文件ermm中使用静态哈希映射变量中的HttpSession对象<代码>((HttpSession)(map.get(“任意”)).getCreationTime()