在已经成形的小项目上,现在用struts2改写,但是无意中发现了一个问题。我的项目做了OpenSessionInView来控制事务,添加struts2能力后,web.xml中关于控制器的Filter-mapping默认生成在了OpenSessionInView的Filter-mapping上面,但是随即发现事务失效,无法执行插入等操作,在尝试改动中将核心控制器的Filter-mapping放在了最后面,事务之后就起作用了,请问这是什么原因?一直觉得xml文件就是记载信息的,其中没有逻辑,所以不存在先后顺序问题,这次才发现xml文件不像想的那么简单。
小弟新手,多包涵。。。。。。。。。。。。。。。。。。。。
------解决方案--------------------
context-param -> listener -> filter -> servlet 依次加载
同样的listener,按照定义顺序加载
filter,按照filter的定义顺序加载
servlet,则按照load-on-startup给的参数决定
web.xml各配置加载顺序