`

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

 
阅读更多

最近项目中使用到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里添加如下的配置

<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

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
 
 <mvc:resources mapping="/resources/**" location="/resources/" />
 
这个配置告诉spring 静态资源的处理方式
分享到:
评论

相关推荐

    防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    然而,在使用拦截器时,可能会遇到拦截器误拦截静态资源文件(如js、css、图片等)的问题。这不仅会影响网页的加载速度,还可能导致页面呈现异常。 在本文中,我们讨论了三种解决SpringMVC拦截器拦截静态资源文件的...

    实战spring mvc

    百度空间.mht"和"Spring3中js-css-jpg-gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决_敲敲代码跳跳舞……_百度空间.mht",分别对应Spring MVC的实践教程和解决静态资源问题的具体...

    spring MVC No Session found for current thread

    当我们遇到“Spring MVC No Session found for current thread”的错误时,这通常意味着在尝试访问HttpSession对象时,当前线程没有找到相关的session。这个问题可能是由于多种原因导致的,包括配置错误、过滤器设置...

    spring-security静态资源

    在讨论“spring-security静态资源”这个主题时,我们将深入探讨Spring Security如何处理Web应用中的静态资源,如JavaScript、CSS、图片等。 1. **静态资源的安全访问** Spring Security 提供了一种机制来保护静态...

    SpringMVC访问静态资源

    在Spring MVC框架中,处理动态请求是其核心功能,但同时它也需要支持对静态资源的访问,例如HTML、CSS、JavaScript、图片等。这些静态资源是构建用户界面必不可少的部分,通常用于提供页面布局、样式和交互逻辑。在...

    springmvc静态资源访问

    在Web开发中,静态资源如CSS、JavaScript、图片等是构建用户界面不可或缺的一部分。Spring MVC作为一款流行的Java Web框架,提供了灵活的方式来处理这些静态资源的请求。本文将详细介绍如何在Spring MVC中配置和使用...

    Spring Boot 使用addviewController()实现无业务逻辑跳转,,出现静态资源映射找不到的情况 。No mapping for GET xx.css

    在Spring Boot应用中,我们经常需要处理HTTP请求的映射,包括无业务逻辑的简单跳转和静态资源的访问。本文将围绕标题和描述中提到的问题进行深入解析,特别是当使用`addViewController()`方法实现无业务逻辑跳转时...

    delphi 2010升级到xe8后,decodestring汉字出现:No mapping for the.mht

    delphi 2010升级到xe8后,decodestring汉字出现:No mapping for the.mht

    Tomcat无法加载css和js等静态资源文件的解决思路

    在开发和部署基于Java的Web应用时,Tomcat作为常用的Servlet容器,有时会出现无法加载CSS、JavaScript等静态资源的问题。这种情况通常会导致网页样式混乱、交互失效,严重影响用户体验。以下是一些针对这个问题的...

    解决springMVC 跳转js css图片等静态资源无法加载的问题

    在Spring MVC框架中,处理静态资源(如JavaScript、CSS、图片等)的加载问题是一项常见的任务。当这些资源无法正常加载时,通常是因为Spring MVC的DispatcherServlet将所有请求都拦截了,导致静态资源请求没有正确地...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    如何访问到静态的文件,如jpg,js,css..docx

    在Web开发中,经常会遇到如何正确配置服务器以便能够顺利访问静态资源(如图片、JavaScript脚本、CSS样式表等)的问题。本文将详细介绍几种常见的解决方案及其原理,帮助开发者更好地理解和掌握这一关键环节。 ####...

    spring学习过程中遇到的问题和解决,eclipse使用

    当在SpringMVC项目中引入CSS样式时,如果发现样式无法正常显示,很可能是由于SpringMVC默认拦截所有请求,包括对CSS等静态资源的请求。这时可以通过以下几种方式来解决: 1. **将静态资源隔离出来**:通过在`...

    springMVC静态资源

    Spring MVC默认提供了一套机制来服务诸如图片、CSS样式表、JavaScript文件等静态内容。这些资源通常用于增强用户体验,提供网页的视觉效果和交互功能。下面我们将深入探讨Spring MVC如何处理静态资源,以及如何进行...

    详解springmvc拦截器拦截静态资源

    然而,如果不正确地配置,拦截器可能会错误地拦截到静态资源,如 CSS、JavaScript 和图片等,导致页面加载缓慢或者功能异常。 静态资源通常是应用程序中不会经过后端处理的文件,它们通常存储在特定的目录下,如 `/...

    springmvc-demo03-静态资源访问处理.zip

    在Spring MVC框架中,静态资源处理是一个至关重要的部分,它涉及到网页应用中JavaScript、CSS、图片等非Java代码文件的访问。Spring MVC默认情况下,并不直接处理这些静态资源,而是交由Web服务器(如Tomcat)来处理...

    spring-static-resources-servlet:使用Spring服务静态资源的示例

    在Spring框架中,服务静态资源是一项重要的功能,它允许我们通过Spring MVC来处理应用程序中的静态内容,如HTML、CSS、JavaScript、图片等。本示例将深入探讨如何使用Spring 3来有效地服务这些静态资源。 首先,让...

    spring 问题总结实用知识库分享知识分享

    SpringMVC:No mapping found for HTTP request with URI [/account/*] in DispatcherServlet with 在使用 SpringMVC 时,可能会出现请求映射错误。解决方法是,检查 Controller 中的请求映射,确保正确,并且确保...

    FreeMarker与Servlet整合,静态资源下载

    FreeMarker是一个强大的模板引擎,常用于Java Web应用中的视图层渲染,它可以将数据模型与HTML、CSS、JS等静态资源结合,生成动态网页内容。Servlet则是Java Web开发中的核心组件,负责处理HTTP请求和响应。在实际...

    spring WEB入门级项目搭建

    在本教程中,我们将深入探讨如何搭建一个基于Spring框架的Web入门级项目,重点是使用Spring MVC和Spring JDBC实现简单的用户登录功能。Spring是一个广泛使用的Java企业级应用框架,而Spring MVC是它的一个核心模块,...

Global site tag (gtag.js) - Google Analytics