最近项目中使用到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>
这样就ok啦
更新:今天又重新研究了一下这个问题,发现还有一种解决方案。
解决方法2:在spring的配置文件中添加如下一行:
<mvc:default-servlet-handler/>
注意,需要是spring3.0.5以上版本
分享到:
相关推荐
然而,在使用拦截器时,可能会遇到拦截器误拦截静态资源文件(如js、css、图片等)的问题。这不仅会影响网页的加载速度,还可能导致页面呈现异常。 在本文中,我们讨论了三种解决SpringMVC拦截器拦截静态资源文件的...
百度空间.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”的错误时,这通常意味着在尝试访问HttpSession对象时,当前线程没有找到相关的session。这个问题可能是由于多种原因导致的,包括配置错误、过滤器设置...
在讨论“spring-security静态资源”这个主题时,我们将深入探讨Spring Security如何处理Web应用中的静态资源,如JavaScript、CSS、图片等。 1. **静态资源的安全访问** Spring Security 提供了一种机制来保护静态...
在Spring MVC框架中,处理动态请求是其核心功能,但同时它也需要支持对静态资源的访问,例如HTML、CSS、JavaScript、图片等。这些静态资源是构建用户界面必不可少的部分,通常用于提供页面布局、样式和交互逻辑。在...
在Web开发中,静态资源如CSS、JavaScript、图片等是构建用户界面不可或缺的一部分。Spring MVC作为一款流行的Java Web框架,提供了灵活的方式来处理这些静态资源的请求。本文将详细介绍如何在Spring MVC中配置和使用...
在Spring Boot应用中,我们经常需要处理HTTP请求的映射,包括无业务逻辑的简单跳转和静态资源的访问。本文将围绕标题和描述中提到的问题进行深入解析,特别是当使用`addViewController()`方法实现无业务逻辑跳转时...
delphi 2010升级到xe8后,decodestring汉字出现:No mapping for the.mht
在开发和部署基于Java的Web应用时,Tomcat作为常用的Servlet容器,有时会出现无法加载CSS、JavaScript等静态资源的问题。这种情况通常会导致网页样式混乱、交互失效,严重影响用户体验。以下是一些针对这个问题的...
在Spring MVC框架中,处理静态资源(如JavaScript、CSS、图片等)的加载问题是一项常见的任务。当这些资源无法正常加载时,通常是因为Spring MVC的DispatcherServlet将所有请求都拦截了,导致静态资源请求没有正确地...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
在Web开发中,经常会遇到如何正确配置服务器以便能够顺利访问静态资源(如图片、JavaScript脚本、CSS样式表等)的问题。本文将详细介绍几种常见的解决方案及其原理,帮助开发者更好地理解和掌握这一关键环节。 ####...
当在SpringMVC项目中引入CSS样式时,如果发现样式无法正常显示,很可能是由于SpringMVC默认拦截所有请求,包括对CSS等静态资源的请求。这时可以通过以下几种方式来解决: 1. **将静态资源隔离出来**:通过在`...
Spring MVC默认提供了一套机制来服务诸如图片、CSS样式表、JavaScript文件等静态内容。这些资源通常用于增强用户体验,提供网页的视觉效果和交互功能。下面我们将深入探讨Spring MVC如何处理静态资源,以及如何进行...
然而,如果不正确地配置,拦截器可能会错误地拦截到静态资源,如 CSS、JavaScript 和图片等,导致页面加载缓慢或者功能异常。 静态资源通常是应用程序中不会经过后端处理的文件,它们通常存储在特定的目录下,如 `/...
在Spring MVC框架中,静态资源处理是一个至关重要的部分,它涉及到网页应用中JavaScript、CSS、图片等非Java代码文件的访问。Spring MVC默认情况下,并不直接处理这些静态资源,而是交由Web服务器(如Tomcat)来处理...
在Spring框架中,服务静态资源是一项重要的功能,它允许我们通过Spring MVC来处理应用程序中的静态内容,如HTML、CSS、JavaScript、图片等。本示例将深入探讨如何使用Spring 3来有效地服务这些静态资源。 首先,让...
SpringMVC:No mapping found for HTTP request with URI [/account/*] in DispatcherServlet with 在使用 SpringMVC 时,可能会出现请求映射错误。解决方法是,检查 Controller 中的请求映射,确保正确,并且确保...
FreeMarker是一个强大的模板引擎,常用于Java Web应用中的视图层渲染,它可以将数据模型与HTML、CSS、JS等静态资源结合,生成动态网页内容。Servlet则是Java Web开发中的核心组件,负责处理HTTP请求和响应。在实际...
在本教程中,我们将深入探讨如何搭建一个基于Spring框架的Web入门级项目,重点是使用Spring MVC和Spring JDBC实现简单的用户登录功能。Spring是一个广泛使用的Java企业级应用框架,而Spring MVC是它的一个核心模块,...