« 上一篇下一篇 »

从会话中保存和检索对象

对象捆绑到会话的名字可以是任意唯一字符串。因为会话是在当前HTTP会话中的所有servlet和JSP页面之间共享,然而使用一个与其他应用不冲突的名字是很有意义的。最常见的是选择那些带有包名或servlet或JSP页面全质类名前缀的名字。会话中可保存任意类型对象,但是因为会话可能被序列化,最好是让会话对象实现java.io.Serializable。注意,只有对象可以保存,面不是伪指令,如int、char或double。为保存这些伪指令,必须使用其对象包容器Integer、Character或Double。

使用getAttribute()方法从一个会话中检索对象,像Map或Hash Table一样,一个会话只保存对象,因此对其进行检索时,必须将其置入适当的类型。包容器类中包含的伪指令必须包容器提供的方法抽取。通常如果在会话中保存了属性,就可以知道它的名字、类型,可以直接以这种方式请求它。

一旦会话被创建,通常持续到其超时或其被关闭。会话保持为有效的请求之间的时间长度,这是一个很重要的因素,因为服务器没有什么方式可以知道一个客户是否经完成了对会话的工作,除了被显式地通知或等待固定长时间。

« 上一篇下一篇 »