struts2 通过外网访问action,action的方法只执行一遍
<action name="showmanagerpj" class="com.xxx.web.action.project.ProjectAction" method="showManagerProject"><result name="success" >xxx.jsp</result> </action>
我是在外网访问服务器的对外ip地址,对外ip和内网ip进行了映射,
外网:218.108.xxx.xxx
内网:192.168.1.104
当有两个用户(一个北京,一个上海)访问这个action时,只是第一个访问的action的方法执行了。
第二个访问的action方法没有执行,但跳转是可以,只是跳转后的session是第一个访问的session,而且后面所有用户访问这个action都是跳转后为第一个访问的session。
内网下访问,进行上面的操作是没问题的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
主要是内网没问题,我觉得是端口映射导致
struts2.1.8,现在换成了最新的2.3.14,也是如此
回复
默认使用的是 单例模式,改成多例模式。
我设置的是多例,struts2默认是多例,只是和spring配合时要设置spring为多例
碰到一样的问题了。 我的解决办法是传入参数加入随机字符串。然后就不存在单例多例了
回复
是的,用你的方法解决了。谢谢你啊
回复
/pj/show?xxx=877947219837 其中xxx变量名随便写,值随机保证不一样就行
把action单例模式设置成多例模式!