no mappingno view found for id......怎么没找到呢

Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决 - baalwolf - ITeye技术网站
博客分类:
最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受
问题:部署项目后程序加载或用浏览器访问时出现类似的警告, 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里添加如下的配置
&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啦
更新:今天又重新研究了一下这个问题,发现还有一种解决方案。
解决方法2:在spring的配置文件中添加如下一行:
&mvc:default-servlet-handler/&
注意,需要是spring3.0.5以上版本
浏览: 176639 次
来自: 北京
楼主说的很有道理。只是你第二点里面写的“行业经验”具体是指什么 ...
写的不错啊、
① 弄啥来!
可是原来那个 catalina.out 文件还是一直保留着老的 ...Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题 - 博客频道 - CSDN.NET
Miss_kun的专栏
分类:spring
我们在使用spring3的时候,如果使用了注解的话,我们会发现,有时候我们界面的js/css/jpg/gif等文件会出现找不到的情况,然而检查引用路径,发现无论是绝对路径还是相对路径,都没错。这下我们就纠结了,到底是什么问题呢?
楼主我也是苦思良久,不经意间看到了后台的日志,才发现是spring搞的鬼。
报错信息:&No mapping found for HTTP request with URI [/sandDemo001/images/1.jpg] in DispatcherServlet with name 'spring'&
解决方法1:在spring的配置修改web.xml下对spring的DispatcherServlet请求url映射的配置,先来看看原配置:
&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里添加如下的配置就可以解决该问题了。
&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&
解决方法2:在spring的配置文件中添加如下一行:
&mvc:default-servlet-handler/&
注意,需要是spring3.0.5以上版本
解决方法3:在spring的配置文件中添加如下一行:
&!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --&
&&mvc:resources mapping=&/resources/**& location=&/resources/& /&&
这个配置告诉spring 静态资源的处理方式
排名:千里之外
(4)(15)(26)(9)(12)(3)(3)(1)(1)(0)(0)(3)(2)Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决
Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决
发布时间: 19:54:30
编辑:www.fx114.net
本篇文章主要介绍了"Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决",主要涉及到Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决方面的内容,对于Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决感兴趣的同学可以参考一下。
------------------以下为引用----------------------
最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受
问题:部署项目后程序加载或用浏览器访问时出现类似的警告, 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-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里添加如下的配置
&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啦
更新:今天又重新研究了一下这个问题,发现还有一种解决方案。
解决方法2:在spring的配置文件中添加如下一行:
&mvc:default-servlet-handler/&
注意,需要是spring3.0.5以上版本
------------------以上为引用----------------------
还有一种基于目录的解决方法:
&!-- spring mvc 配置 --&
&mvc:resources mapping=&/resources/javascripts/**& location=&/resources/javascripts/& /&
&mvc:resources mapping=&/resources/css/**& location=&/resources/css/& /&
&mvc:resources mapping=&/resources/images/**& location=&/resources/images/& /&
&mvc:resources mapping=&/resources/swf/**& location=&/resources/swf/& /&
版权声明:本文为博主原创文章,未经博主允许不得转载。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:}

我要回帖

更多关于 mapping not found 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信