国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

SpringMVC訪問不到圖片

2024-04-27 15:07:13
字體:
來源:轉載
供稿:網友

SPRingMVC訪問不到圖片

原因:DispatcherServlet攔截 .do這樣的URL,就不存在訪問不到靜態資源的問題。如果你的DispatcherServlet攔截“/”,攔截了所有的請求,同時對.js,*.jpg的訪問也就被攔截了。
目的:可以正常訪問靜態文件,不要找不到靜態文件報404

解決方案

1.使用 < mvc:default-servlet-handler/>

< mvc:default-servlet-handler />


會把”/**” url,注冊到SimpleUrlHandlerMapping的urlMap中,把對靜態資源的訪問由HandlerMapping轉到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 處理并返回.DefaultServletHttpRequestHandler使用就是各個Servlet容器自己的默認Servlet.補充說明:多個HandlerMapping的執行順序問題:[x] DefaultAnnotationHandlerMapping的order屬性值是:0 < mvc:resources/ >自動注冊的 SimpleUrlHandlerMapping的order屬性值是: 2147483646[x] < mvc:default-servlet-handler/>自動注冊 的SimpleUrlHandlerMapping 的order屬性值是: 2147483647spring會先執行 order值比較小的。當訪問一個a.jpg圖片文件時,先通過 DefaultAnnotationHandlerMapping 來找處理器,一定是 找不到的,我們沒有叫a.jpg的Action。再按order值升序找,由于最后一個 SimpleUrlHandlerMapping 是 匹 “/**”的,所以一定會匹配上,再響應圖片

2.激活Tomcat的defaultServlet來處理靜態文件

< servlet-mapping> < servlet-name>default< /servlet-name> < url-pattern>*.jpg< /url-pattern> < /servlet-mapping> < servlet-mapping> < servlet-name>default< /servlet-name> < url-pattern>*.js< /url-pattern> < /servlet-mapping> < servlet-mapping> < servlet-name>default< /servlet-name> < url-pattern>*.CSS< /url-pattern> < /servlet-mapping> 要配置多個,每種文件配置一個

要寫在DispatcherServlet的前面,讓defaultServlet先攔截,這個就不會進入Spring了
[x] Tomcat, Jetty, JBoss, and GlassFish 默認 Servlet的名字 – “default” [x] Google App Engine 默認 Servlet的名字 – “_ah_default” [x] Resin 默認 Servlet的名字 – “resin-file” [x] WebLogic 默認 Servlet的名字 – “FileServlet” [x] WebSphere 默認 Servlet的名字 – “SimpleFileServlet”
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳市| 盐边县| 方山县| 南溪县| 涪陵区| 依兰县| 泗阳县| 漠河县| 杭锦后旗| 巍山| 东台市| 汉源县| 威宁| 柏乡县| 林州市| 莱西市| 衡阳市| 武隆县| 潼关县| 醴陵市| 贞丰县| 徐汇区| 惠州市| 庆元县| 光山县| 万荣县| 昂仁县| 贺州市| 古交市| 嘉祥县| 云林县| 伊金霍洛旗| 凤台县| 乌拉特前旗| 宣恩县| 都昌县| 武乡县| 九龙城区| 宜宾县| 彝良县| 三原县|