springmvc不能訪問jsp或者其他靜態資源

2021-07-29 14:45:09 字數 814 閱讀 7740

一、spring mvc 下jsp不能訪問的原因:

1.如果容器定義了乙個default servelt(即匹配路徑為「/」的servlet),則會將請求交給default servlet 

注意:/*.action:錯誤的匹配規則,不能即是路徑匹配,也是擴充套件匹配2.

spring

mvc中dispatcherservlet配置為/

訪問請求**

.jsp和訪問jsp頁面的時候訪問不到的原因: 

預設在%tomcat_home%/conf/web.xml中配置了

.jsp由jspservelt來處理,當我們將spring mvc的攔截規則配置為/*的時候,按照servlet的匹配規則,則路徑匹配會優先於擴充套件匹配,導致對jsp的請求會被攔截掉。 

*當spring mvc配置為/,表示未預設servelt,只有當請求沒有對應的servlet處理時,才交給它處理,當我們請求jsp時,剛好有從%tomcat_home%/conf/web.xml中繼承過來的jspservlet會處理對jsp請求的處理,所以會訪問到jsp頁面。

如何你的dispatcherservlet攔截 

.do這樣的url,就不存在訪問不到靜態資源的問題。如果你的dispatcherservlet攔截「/」,攔截了所有的請求,同時對 *

.js,*.jpg的訪問也就被攔截了。

方案一:啟用tomcat的defaultservlet來處理靜態檔案

方案二: 在spring3.0.4以後版本提供了mvc:resources

springMvc訪問簡介

具體執行步驟如下 1 首先使用者傳送請求 前端控制器,前端控制器根據請求資訊 如 url 來決定選擇哪乙個頁面控制器進行 處理並把請求委託給它,即以前的控制器的控制邏輯部分 圖 2 1 中的 1 2 步驟 2 頁面控制器接收到請求後,進行功能處理,首先需要收集和繫結請求引數到乙個物件,這個物件在 s...

Oracle EM 不能訪問

zwt2001267 原文 oracle em 不能訪問 1.cmd控制啟動em c users administrator emctl start dbconsole environment variable oracle unqname not defined.please set oracle...

springMVC訪問靜態資源

web.xml springmvcservlet name org.springframework.web.servlet.dispatcherservletservlet class contextconfiglocationparam name classpath config spring s...