我使用JSF 1.2 + TOMCAT6.0 开发了一个很简单的应用:2个页面,一个 backing bean。在faces-config.xml中,如下配置backing bean时,应用无问题: <managed-bean>
<description>The one and only HelloBean.</description>
<managed-bean-name>helloBean</managed-bean-name>
<managed-bean-class>org.jia.hello.HelloBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>但是,当我将managed-bean-scope改成request后,应用就会报错。配置信息如下: <managed-bean>
<description>The one and only HelloBean.</description>
<managed-bean-name>helloBean</managed-bean-name>
<managed-bean-class>org.jia.hello.HelloBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>Tomcat 报如下错误java.io.StreamCorruptedException: invalid stream header: 4F757470
不知各位dx有没有碰到过类似问题?多谢

解决方案 »

  1.   

    这么清晰的贴怎么这么久没有人回呢?
    我也想了解一下这个问题,虽然没有设置成request
    因为别人都写好了。可我觉得session开销太大,会不会有其他的解决方案?
      

  2.   

    查了些资料,明白了。如果managed-bean-scope被设置成session,在整个session范围内可以使用同一个Bean的实例;如果managed-bean-scope被设置成request,那么每个request(form action)每次会创建一个Bean的实例。