首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

在Struts2 如果有多个拦截器栈顺序写错会有什么不同?解决方案

2012-10-19 
在Struts2 如果有多个拦截器栈顺序写错会有什么不同?XML codeinterceptorsinterceptor namemyInterce

在Struts2 如果有多个拦截器栈顺序写错会有什么不同?

XML code
<interceptors>             <interceptor name="myInterceptor" class="edu.hust.interceptor.MyInterceptor"></interceptor>                      <interceptor-stack name="myInterceptorStack">                 [color=#FF0000]<interceptor-ref name="myInterceptor"></interceptor-ref>                 <interceptor-ref name="defaultStack"></interceptor-ref> [/color]            </interceptor-stack>         </interceptors> 

在红色地方这个如果这样写
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myInterceptor"></interceptor-ref>



[解决办法]
学习中。。。。
[解决办法]
这就是执行先后顺序上的问题,放前放后看你自己的要求了,硬要说有什么不同,还真知道去怎么解释
[解决办法]
影响拦截顺序 也就影响了拦截器里处理的东西

具体影响了什么 去参看具体拦截器的代码
[解决办法]
学习来了
[解决办法]
就是程序执行的顺序。看耦合性了。要是对前interceptor 有依赖,就错呗。个人见解,因为我菜嘛
[解决办法]
本人看法是
..defaultStack是struts的默认拦截栈..我们所配置上去的拦截栈都得建立在它的基础上.所以得在堆栈里配置 <interceptor-ref name="defaultStack"></interceptor-ref> 
说有顺序有什么不同呢?这个应该牵涉到struts是如何解析xml文档的了..
在struts随着程序启动的时候..开始解析xml拦截栈配置..但是.是一次性地解析..,然后将配置信息存放到map里面..如果配置修改后.也得等到程序重新启动.再加载一次才生效..以后使用到配置里的信息再从map里取...如果是影响到执行顺序的话..也不可能.因为我们配置的stack对defaultStack有依赖性.以上defaultStack放后面的配置做法不就错了嘛..但事实是对的..
所以我的看法是除了加载顺序不同之外..执行起来没什么不同..欢迎大家讨论
[解决办法]
正在学习当中……

热点排行