1、/* 默认配置REQUEST
转发需要走过滤器,拦截器是前端控制器调用的
在web.xml中有
<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
action1向action2转发的时候过滤器不执行。
因为在配置/*的时候默认配置是
<dispatcher>REQUEST</dispatcher>
客户端的请求才会走前端控制器,转发不走。
转发需要走的时候,要配置一下。
首先拦截器是前端控制器调用的,前端控制器不走拦截器就无效了。
<dispatcher>FORWARD</dispatcher>
配置之后转发就会执行。
但是不能只写一个,不然另外一个会失效,所以两个都要写。
<!-- struts核心控制器 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> <!--客户端请求 执行过滤器 doFilter调用拦截器栈--> <dispatcher>REQUEST</dispatcher> <!--服务器内部转发跳转执行doFilter--> <dispatcher>FORWARD</dispatcher> </filter-mapping>
默认的Action