环境:
weld-1.1.2(as7自带)
seam-3.0.0.Final
jboss-as-7.0.0.Final
在AS7及IE环境下weld/seam3的@SessionScoped无法保存状态,每次刷新sessionid都会改变,chrome/FF/OP下就一切正常,也不知道as7用什么高科技了,解决办法如下:
打开/jboss-as-7.0.0.Final/standalone/configuration/standalone.xml
在文件头找到
在后面新增以下配置,即可解决这个问题…
测试代码
[color=red]
========== 后记 ===========
JBoss AS 7.0.1.Final已解决这个问题,无需进行上面的配置。
[/color]
weld-1.1.2(as7自带)
seam-3.0.0.Final
jboss-as-7.0.0.Final
在AS7及IE环境下weld/seam3的@SessionScoped无法保存状态,每次刷新sessionid都会改变,chrome/FF/OP下就一切正常,也不知道as7用什么高科技了,解决办法如下:
打开/jboss-as-7.0.0.Final/standalone/configuration/standalone.xml
在文件头找到
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.deployment-scanner"/>
<extension module="org.jboss.as.ee"/>
<extension module="org.jboss.as.ejb3"/>
<extension module="org.jboss.as.jaxrs"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.jpa"/>
<extension module="org.jboss.as.logging"/>
<extension module="org.jboss.as.naming"/>
<extension module="org.jboss.as.osgi"/>
<extension module="org.jboss.as.remoting"/>
<extension module="org.jboss.as.sar"/>
<extension module="org.jboss.as.security"/>
<extension module="org.jboss.as.threads"/>
<extension module="org.jboss.as.transactions"/>
<extension module="org.jboss.as.web"/>
<extension module="org.jboss.as.weld"/>
</extensions>
在后面新增以下配置,即可解决这个问题…
<system-properties>
<property name="org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR" value="false"/>
<property name="org.apache.catalina.STRICT_SERVLET_COMPLIANCE" value="true"/>
</system-properties>
测试代码
@SessionScoped
public class SessionScopedBean implements Serializable {
private static final long serialVersionUID = 1L;
}
@Path("/")
public class Test implements Serializable {
private static final long serialVersionUID = 1L;
@Inject SessionScopedBean bean;
@GET
@Path("/test")
public String test() {
return bean.toString();
}
}
[color=red]
========== 后记 ===========
JBoss AS 7.0.1.Final已解决这个问题,无需进行上面的配置。
[/color]