天天看點

SSM架構下通路.jsp或者.html頁面報錯 404

問題

在SSM架構下,如果web.xml配置檔案如下:

<servlet-mapping>  
<servlet-name>spring-Servlet</servlet-name>  
 <url-pattern>/</url-pattern>
</servlet-mapping>
           

其中“/”會導緻靜态檔案(jpg,js,css)被攔截後不能正常顯示(其他目錄下的檔案也同樣通路不到)。

解決方法

1:在spring-mvc.xml中啟用預設Servlet

<mvc:default-servlet-handler/>
           

在web.xml中增加對靜态資源的處理

<servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>*.js</url-pattern>
       <url-pattern>*.css</url-pattern>
       <url-pattern>/assets/*"</url-pattern>
       <url-pattern>/images/*</url-pattern>
</servlet-mapping>
           

特點:使用預設的Servlet進行資源檔案的通路,Spring攔截所有請求,然後再将資源檔案交由預設的Sevlet進行處理,性能上少有損耗

2:修改web.xml

修改前

<url-pattern>/</url-pattern>
           

修改後

<url-pattern>*.do</url-pattern>
           

特點:Spring隻是處理以’.do’結尾的通路,性能上更加高效,但是再通路路徑上必須都以’.do’結尾,URL不太文雅

繼續閱讀