重写struts中的RequestProcessor引起的问题

又是很久很久没有来看看了,来了还是留点啥作纪念吧呵呵。

前面刚做了个j2ee框架移行的项目,也就是把原来使用的那个框架转到struts1.3上去,

其中有个印象比较深的问题是struts里取得RequestProcessor是决定于配置文件中的controller,如下:

按照这个思路实现后的代码,出现个很难排查的问题,页面同时被多人操作时,会出现错误,而且错误还不统一,

出错的地方也不完全一致,经过很辛苦的调查(这种问题debug是追踪不到的),我怀疑是处理同步问题,

尝试了好几种方法,最终确定下面这种方法是可行的。

 

1。自定义个Servlet继承struts的ActionServlet,Servlet响应使用自定义的Servlet,这里当然免不掉在

    web.xml里配置自定义Servlet了。

2。在自定义Servlet里,重写getProcessorForModule方法,如下:

 

到此,关键部分全部完成,同步问题就一直没有出现了,

我没有看struts代码,不知道在它原来的方式里直接从配置里去取时,难道不是每次new个RequestProcessor对象吗?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值