如何获取Struts2 defaultStack默认拦截器列表?
获取Struts2 defaultStack拦截器列表的方法
查看Struts核心JAR包的内置配置
找到项目依赖的struts2-coreJAR包,解压后打开其中的struts-default.xml文件,这个文件里明确定义了defaultStack包含的所有拦截器及其执行顺序,你要排除的CSP拦截器也会在这份配置里列出。用IDE直接跳转查看
在你的XML配置文件中,按住Ctrl(Windows/Linux)或Cmd(Mac)点击<interceptor-ref name="defaultStack" />里的defaultStack,IDE会自动跳转到struts-default.xml中该拦截器栈的定义位置,直接就能看到完整的拦截器清单。查阅对应版本的Struts离线文档
不同Struts版本的defaultStack组成可能有细微差异,如果你有本地的Struts文档,在拦截器章节就能找到对应版本的defaultStack拦截器列表。
如果要自定义拦截器栈(比如去掉CSP拦截器),可以复制defaultStack里的所有拦截器引用,移除不需要的那个,再定义自己的栈,示例如下:
<interceptors> <interceptor-stack name="customStack"> <!-- 保留defaultStack中需要的拦截器,示例如下 --> <interceptor-ref name="exception"/> <interceptor-ref name="alias"/> <interceptor-ref name="servletConfig"/> <!-- ... 其他必要拦截器 ... --> <!-- 移除<interceptor-ref name="cspInterceptor"/> --> </interceptor-stack> </interceptors>
内容的提问来源于stack exchange,提问作者Jikai
相关产品推荐
相关产品推荐

