最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受

问 题:部署项目后程序加载或用浏览器访问时出现类似的警告,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)问题解决...相关推荐

  1. Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决--转载...

    原文地址:http://www.programgo.com/article/96083031845/ 最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情, ...

  2. Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)...

    最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受 问题:部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52 ...

  3. springMVC设置静态资源过滤器,过滤js、css、images等静态资源

    首先看个index.jsp首页的代码 <%@ page contentType="text/html;charset=UTF-8" language="java&q ...

  4. js和css被屏蔽了,拦截器 Filter ,js、css、image等静态资源不被拦截解决方案

    方案一: web.xml配置文件拦截范围缩小 ,没有必要 /*的配置拦截项目下所有资源. Login com.ssm.crm.filter.LoginFilter Login /* 修改如下: Log ...

  5. springboot中,页面访问不到静态资源

    例一,静态资源放在默认的目录,如:resources/static或resources/templates 访问静态资源的时候,路径不应带上默认目录,因为springboot默认从这些目录下开始加载, ...

  6. 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 ...

  7. SpringBoot直接URL获取静态资源文件

    SpringBoot直接URL获取静态资源文件 spring boot 直接通过url访问获取内部或者外部静态资源图片 https://blog.csdn.net/ljj_9/article/deta ...

  8. 记录linux下nginx配置html缓存,js,css等不缓存(服务器上的*.html和js,css,jpg等在同一级目录下)

    问题描述: 在linux下的nginx配置拦截html,并设置不缓存,js,css,jpg,png等静态资源缓存30天; 备注: 我们服务器上的*.html和js,css,jpg等在同一级目录下 解决 ...

  9. Spring mvc 拦截静态资源配置管理

    springMVC的<mvc:resources mapping="***" location="***">标签是在spring3.0.4出现的,主 ...

最新文章

  1. “极致”神话和产品观念_转自“蜗窝科技”
  2. idea前进和后退快捷键_必备技能:IDEA一定要懂的32条快捷键
  3. 关于PChar(@string)的疑惑
  4. Leetcode每日一题:167.two-sum-ii-input-array-is-sorted(两数之和Ⅱ-输入有序数组)
  5. JavaScript学习(三十七)—实现右键自定义菜单的功能
  6. Java 容器的使用及数组、List、Set 的相互转换
  7. 2.Linux性能诊断 --- 单机负载评估
  8. Python开发环境搭建方法简述
  9. ecmall商品列表页排序的完美解决方案
  10. VMware VirtualBox共存时桥接注意
  11. PJzhang:360压缩的用户许可协议和隐私政策阅读
  12. 计算机病毒如何彻底去除,电脑中病毒最彻底的清除方法 彻底清理删除电脑病毒的几种简单方法...
  13. Python自动化测试框架有哪些?(总结几种)
  14. Python基础学习(2)基本数据类型、三元运算、深浅拷贝、函数式编程、参数、变量、lambda表达式、python内置函数、文件处理、上下文管理、递归、命名空间、闭包
  15. 基于f2从零实现移动端可视化编辑器
  16. 必须要知道的多媒体知识-音视频编解码-h265、h264-直播-点播
  17. OrCAD Capture CIS 16.6 - 为元器件添加属性
  18. [蓝桥杯]三升序列(Python实现)
  19. 异常:谷歌浏览器video标签播放视频不能拖动进度条
  20. 为什么k8s天然适合微服务?

热门文章

  1. gearman简介及安装使用
  2. 深究的东西 - HTML5地理应用
  3. 剑破冰山—Oracle开发艺术 前言
  4. mysql修改字符集utf8为utf8mb4
  5. Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述
  6. 2. Add Two Numbers(Leetcode)
  7. Deno 兼容浏览器具体指的是什么?
  8. Oracle Data Guard 主库 归档文件 删除策略 .
  9. Android 网络连接状态的监控
  10. Linux 网络编程详解二(socket创建流程、多进程版)