1
回答
Struts的Session问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

在用Struts的时候发现这样一个问题,不管我们的程序中是否创建了一个新的session,从页面提交表单到action类,再跳转到页面的时候url中总是出现了;jsessionid这样的一长串内容,这是由于新建的session导致容器产生的。

经过深入研究struts的代码发现问题所在,原来是struts在处理自动Locale时导致的,struts调用了 request.getSession()方法,该方法等同于 request.getSession(true) ,相当于不存在session时就自动创建一个新的session,于是就出现前面提到的现象。

要解决这个问题必须关闭struts的自动Locale的功能,不过很简单,只用在struts-config.xml的controller配置增加一个locale参数值等于false即可,如:

<controller locale="false"/>

举报
红薯
发帖于9年前 1回/785阅
顶部