如果只配置攔截類似于*.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>
|
新聞熱點
疑難解答