Bij*_* CD 8 java serialization tomcat javabeans
1.在Web应用程序中使用序列化的位置.
2.表单bean是否可以序列化是必要的.
3.在tomcat中session.ser文件的用法是什么..
Pat*_*yer 16
1)它是一个依赖于应用程序服务器的功能,但Servlet规范说如果servlet容器想要支持分布式环境(跨实例共享会话)等,它必须接受实现Serializable并能够迁移它们的对象.Tomcat还支持在服务器重新启动时为可序列化的会话对象存储会话状态.您可以在conf/context.xml文件中打开或关闭Tomcat的此功能(请参阅其中的注释).
2)如果a)它是会话范围的b)你使用分布式会话或Tomcat用来持久化需要它的会话,那么表单bean只能是Serializable是必需的.
3)sessions.ser文件是包含会话中序列化对象的文件.如果您将服务器配置为重新启动服务器,Tomcat会使用它来保留它们(参见上文).通常,.ser文件是序列化的Java对象,它是对象状态的二进制表示.
Ade*_*ari 12
对于您的第一个和第二个问题,请查看此SO线程.关于你的第3个问题,sessions.ser是一个序列化的会话.然而,
是的,每当我们需要在文件系统中保留对象或通过线路发送对象时,我们都需要序列化.您可能认为在Web应用程序中我们不一定这样做.但是,如果在将来切换到集群环境或者想要将bean传递给远程组件(即EJB组件)时,服务器通常需要一个可序列化的东西.或者您可能希望将bean存储到会话中,因此您的bean应该是可序列化的.
是的,出于同样的原因,如上所述.
sessions.ser是一个序列化的会话.Tomcat坚持了它,所以它可以在以后恢复.现在您已经了解了为什么我们需要可序列化的bean,因为您可能希望将bean对象存储到会话中,并且Tomcat将会话持久保存到文件系统,即session.ser.因此,您的bean必须实现Serializable,以便可以使用会话持久保存/恢复它们.
顺便说一下,持久化和恢复bean的正确性取决于Serializable的正确实现.为此,我建议您阅读Effective Java中的相关主题.
| 归档时间: |
|
| 查看次数: |
8408 次 |
| 最近记录: |