如果只配置拦截类似于*.do格式的url,则对静态资源的访问是没有问题的,但是如果配置拦截了所有的请求(如我们上面配置的“/”),就会造成js文件、css文件、图片文件等静态资源无法访问
一般Web应用服务器默认的Servlet名称是"default",所以这里我们激活Tomcat的defaultServlet来处理静态文件
Tomcat, Jetty, JBoss, and GlassFish 默认 Servlet的名字 -- "default" Resin 默认 Servlet的名字 -- "resin-file" WebLogic 默认 Servlet的名字 -- "FileServlet" WebSphere 默认 Servlet的名字 -- "SimpleFileServlet" 如果你所有的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定
- <filter>
- <filter-name>struts2</filter-name>
- <!-- org.apache.struts2.dispatcher.FilterDispatcher -->
- <!-- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter -->
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>*.action</url-pattern>
- </filter-mapping>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.action</url-pattern>
- <url-pattern>/js/*</url-pattern>
- <url-pattern>/css/*</url-pattern>
- <url-pattern>/images/*</url-pattern>
- <url-pattern>/image/*</url-pattern><!--
- <url-pattern>/article/*</url-pattern>
- --></servlet-mapping>
- <!-- springmvc配置 -->
- <servlet>
- <servlet-name>springmvc</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:springmvc-servlet.xml</param-value>
- </init-param>
- <load-on-startup>2</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springmvc</servlet-name>
- <url-pattern>/selfhelp/*</url-pattern>
- </servlet-mapping>
<filter> <filter-name>struts2</filter-name> <!-- org.apache.struts2.dispatcher.FilterDispatcher --> <!-- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter --> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.action</url-pattern> <url-pattern>/js/*</url-pattern> <url-pattern>/css/*</url-pattern> <url-pattern>/images/*</url-pattern> <url-pattern>/image/*</url-pattern><!-- <url-pattern>/article/*</url-pattern> --></servlet-mapping> <!-- springmvc配置 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/selfhelp/*</url-pattern> </servlet-mapping>