javascript
Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决...
問 題:部署項目后程序加載或用瀏覽器訪問時出現類似的警告,2011-01-19 10:52:51,646 WARN [org.springframework.web.servlet.PageNotFound] -<No mapping found for HTTP request with URI [/sandDemo001/images/1.jpg] in DispatcherServlet with name 'spring'>,主要看尖括號內部分。
問題原因:罪魁禍首是web.xml下對spring的DispatcherServlet請求url映射的配置,原配置如下:
<servlet>
??? <servlet-name>spring</servlet-name>
??? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
??? <load-on-startup>1</load-on-startup>
?</servlet>
?<servlet-mapping>
??????? <servlet-name>spring</servlet-name>
??????? <url-pattern>/</url-pattern>
?</servlet-mapping>
分 析原因:<servlet-mapping>的<url-pattern>/</url-pattern>把所有的 請求都交給spring去處理了,而所有available的請求url都是在Constroller里使用類似 @RequestMapping(value = "/login/{user}", method = RequestMethod.GET)這樣的注解配置的,這樣的話對js/css/jpg/gif等靜態資源的訪問就會得不到。
解決方法:在web.xml里添加如下的配置 , 要寫在DispatcherServlet的前面, 讓 defaultServlet先攔截請求,這樣請求就不會進入Spring了。
方案一:激活Tomcat的defaultServlet來處理靜態文件
<servlet-mapping>
???? <servlet-name>default</servlet-name>
??? ?<url-pattern>*.css</url-pattern>
</servlet-mapping>
?
<servlet-mapping>
??? <servlet-name>default</servlet-name>
????<url-pattern>*.gif</url-pattern>
?</servlet-mapping>
????
?<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>
這樣就ok啦
Tomcat, Jetty, JBoss, and GlassFish?自帶的默認Servlet的名字 -- "default"??Google App Engine 自帶的 默認Servlet的名字 -- "_ah_default"?
?Resin 自帶的 默認Servlet的名字 -- "resin-file"?
?WebLogic 自帶的 默認Servlet的名字 -- "FileServlet"?
?WebSphere ?自帶的 默認Servlet的名字 -- "SimpleFileServlet"
更新:今天又重新研究了一下這個問題,發現還有一種解決方案。
解決方法2:在spring的配置文件中添加如下一行:
<mvc:default-servlet-handler/>
注意,需要是spring3.0.5以上版本
轉載于:https://www.cnblogs.com/wcyBlog/p/4013309.html
總結
以上是生活随笔為你收集整理的Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【原创】字符串工具类--找出单元字符串
- 下一篇: Tomcat绿色版启动startup.b