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啦
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)问题解决...相关推荐
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决--转载...
原文地址:http://www.programgo.com/article/96083031845/ 最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情, ...
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)...
最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受 问题:部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52 ...
- springMVC设置静态资源过滤器,过滤js、css、images等静态资源
首先看个index.jsp首页的代码 <%@ page contentType="text/html;charset=UTF-8" language="java&q ...
- js和css被屏蔽了,拦截器 Filter ,js、css、image等静态资源不被拦截解决方案
方案一: web.xml配置文件拦截范围缩小 ,没有必要 /*的配置拦截项目下所有资源. Login com.ssm.crm.filter.LoginFilter Login /* 修改如下: Log ...
- springboot中,页面访问不到静态资源
例一,静态资源放在默认的目录,如:resources/static或resources/templates 访问静态资源的时候,路径不应带上默认目录,因为springboot默认从这些目录下开始加载, ...
- Spring MVC访问页面拦截js和css文件解决方法( No mapping found for HTTP request with URI [/Recruit/js/popper1.15.0.)
在web.xml中增加对css和js文件的加载 <?xml version="1.0" encoding="UTF-8"?> <web-app ...
- SpringBoot直接URL获取静态资源文件
SpringBoot直接URL获取静态资源文件 spring boot 直接通过url访问获取内部或者外部静态资源图片 https://blog.csdn.net/ljj_9/article/deta ...
- 记录linux下nginx配置html缓存,js,css等不缓存(服务器上的*.html和js,css,jpg等在同一级目录下)
问题描述: 在linux下的nginx配置拦截html,并设置不缓存,js,css,jpg,png等静态资源缓存30天; 备注: 我们服务器上的*.html和js,css,jpg等在同一级目录下 解决 ...
- Spring mvc 拦截静态资源配置管理
springMVC的<mvc:resources mapping="***" location="***">标签是在spring3.0.4出现的,主 ...
最新文章
- “极致”神话和产品观念_转自“蜗窝科技”
- idea前进和后退快捷键_必备技能:IDEA一定要懂的32条快捷键
- 关于PChar(@string)的疑惑
- Leetcode每日一题:167.two-sum-ii-input-array-is-sorted(两数之和Ⅱ-输入有序数组)
- JavaScript学习(三十七)—实现右键自定义菜单的功能
- Java 容器的使用及数组、List、Set 的相互转换
- 2.Linux性能诊断 --- 单机负载评估
- Python开发环境搭建方法简述
- ecmall商品列表页排序的完美解决方案
- VMware VirtualBox共存时桥接注意
- PJzhang:360压缩的用户许可协议和隐私政策阅读
- 计算机病毒如何彻底去除,电脑中病毒最彻底的清除方法 彻底清理删除电脑病毒的几种简单方法...
- Python自动化测试框架有哪些?(总结几种)
- Python基础学习(2)基本数据类型、三元运算、深浅拷贝、函数式编程、参数、变量、lambda表达式、python内置函数、文件处理、上下文管理、递归、命名空间、闭包
- 基于f2从零实现移动端可视化编辑器
- 必须要知道的多媒体知识-音视频编解码-h265、h264-直播-点播
- OrCAD Capture CIS 16.6 - 为元器件添加属性
- [蓝桥杯]三升序列(Python实现)
- 异常:谷歌浏览器video标签播放视频不能拖动进度条
- 为什么k8s天然适合微服务?