`

spring mvc中页面资源无法读取css、js静态文件,404

阅读更多

问题描述:spring mvc中页面资源无法读取css、js静态文件,自行拼接静态资源的URL后发现报404。

http://localhost:8080/ds-sys-web/assets/css/ie10-viewport-bug-workaround.css

静态资源路径如下:

 

原因:assets/css/ie10-viewport-bug-workaround.css部分被spring拦截处理了,controller中没有配置requestmapping为assets/css/ie10-viewport-bug-workaround.css的控制器,自然报404了。

 

解决办法:

 

方法一:修改web.xml中spring拦截器的url-pattern,如下:

 

	<servlet>
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<url-pattern>*.shtml</url-pattern>
<!-- 之前配置的为<url-pattern>/</url-pattern> -->
	</servlet-mapping>

 加一个后缀,使spring只处理以shtml结尾的url

 

解决!

 

方法二:在web.xml中添加过滤url:

	<servlet>
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<url-pattern>/</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>  
	<servlet-mapping>  
	    <servlet-name>default</servlet-name>             
	    <url-pattern>*.css</url-pattern>   
	</servlet-mapping>  
	<servlet-mapping>  
	    <servlet-name>default</servlet-name>             
	    <url-pattern>*.html</url-pattern>  
	</servlet-mapping>
 解决!

 

方法三: 在spring配置文件中加入如下配置:

<mvc:resources location="/css/" mapping="/css/**" />

 解决!

 

 url-pattern有5种配置模式:

(1)/xxx:完全匹配/xxx的路径

(2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。

(3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。

(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。

 

(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。

 

  • 大小: 9 KB
分享到:
评论

相关推荐

    spring mvc_04

    在Web应用中,静态资源如CSS样式表、JavaScript文件、图片等通常需要被直接访问,而无需经过业务逻辑处理。在Spring MVC中,可以配置DispatcherServlet以处理静态资源请求,或者使用专门的静态资源处理器。在"spring...

    spring mvc 项目

    - `src/main/webapp`:存放Web相关的资源,如静态文件(HTML、CSS、JavaScript)、JSP页面和Web-INF目录下的web.xml配置文件。 5. **配置与集成** 要将Spring MVC、MyBatis和Oracle整合,你需要完成以下步骤: -...

    基于spring mvc+spring data+Thymeleaf+mysql的简单工程

    3. **src/main/webapp**:存放Web应用相关的资源,如静态文件(JavaScript、CSS、图片等)和Thymeleaf模板文件。 4. **pom.xml**:Maven的配置文件,定义了项目依赖和构建设置。 通过学习和理解这个项目,开发者...

    spring mvc+ bootstrap博客系统

    2. **预定义组件**:Bootstrap 提供了大量的CSS样式和JavaScript插件,如导航栏、按钮、表单、下拉菜单、模态框等,简化了页面设计和交互。 3. **自定义化**:Bootstrap 可以通过Sass预处理器进行深度定制,满足...

    ssh demo.rar_DEMO_promiseddzi_spring mvc_ssh_ssh demo

    3. `src/main/webapp`:Web应用的根目录,包括静态资源(如HTML、CSS、JavaScript)、JSP文件以及Spring MVC的视图解析路径。 4. `pom.xml`:Maven项目的配置文件,定义了项目依赖和构建过程。 总的来说,"SSH Demo...

    狂神说springboot员工管理系统静态资源.zip

    "asserts"文件夹通常包含CSS样式表、JavaScript脚本和其他静态资源文件,它们负责定义页面的布局、样式和交互逻辑。例如,CSS文件用于定义页面元素的颜色、字体、位置等视觉效果;JavaScript文件则用于处理用户事件...

    springboot项目打成jar包后无法获取static下的静态资源文件的问题分析

    标题和描述中提到的知识点是关于Spring Boot项目在打包成jar格式后,无法访问位于static目录下的静态资源文件的问题分析。这个问题在开发和部署时非常常见,因为Spring Boot应用在运行时,会将静态资源打包到jar文件...

    spring.mvc.hibernate231security-CRUD

    3. **src/main/webapp**:Web应用的根目录,可能有Web-INF下的web.xml,静态资源如HTML、CSS和JavaScript文件。 4. **pom.xml**:Maven的项目对象模型文件,定义了依赖和构建指令。 通过对这些技术的集成,开发者...

    Spring+restful.zip

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Spring MVC是Spring框架的一个重要模块,用于构建Web应用程序。RESTful(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,它基于...

    spring-mvc的增删改查(crud)的实现

    Spring MVC允许开发者配置静态资源路径,如CSS、JavaScript和图片等。在`WebMvcConfigurerAdapter`的子类中,可以重写`addResourceHandlers`方法来设置静态资源路径,例如: ```java @Configuration @EnableWebMvc ...

    java生存静态页面

    2. **使用MVC框架**:诸如Spring MVC、Struts等MVC框架也支持静态资源处理。在配置中,我们可以指定静态资源的路径,框架会自动处理这些请求,将静态文件直接发送给客户端。 3. **构建工具优化**:在开发过程中,...

    JavaWeb项目中springmvc和tomcat对静态文件的处理

    在JavaWeb开发中,Spring MVC和Tomcat服务器都承担着处理静态文件的角色,如CSS、JavaScript、图片等。本文将详细探讨这两种方式如何处理静态文件。 首先,我们来看Tomcat如何处理静态文件。Tomcat内置了一个名为`...

    springboot如何获取相对路径文件夹下静态资源的方法

    在开发Web应用程序时,我们经常需要访问静态资源,如图片、CSS文件、JavaScript文件等。Spring Boot提供了多种方式来访问静态资源,本文将介绍如何在Spring Boot中获取相对路径文件夹下静态资源的方法。 在Spring ...

    通用后台管理系统(ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8).docx

    1. 静态资源加载优化:通过Spring MVC的静态加载缓存机制,JavaScript文件、CSS文件和图片等静态资源被预先加载到内存,显著提升了ExtJS的加载速度,改善了用户体验。 2. 多样化皮肤主题:系统提供了经典、灰色和...

    spring4.x+springdatajpa+springmvc+maven搭建

    4. src/main/webapp:Spring MVC的Web应用目录,包含视图解析器配置、静态资源(如CSS和JavaScript文件)以及Web页面模板。 5. WEB-INF:Web应用的特殊目录,通常包含web.xml文件,这是Spring MVC的部署描述符。 ...

    SpringMVC访问图片

    Spring MVC作为一个强大的MVC框架,不仅能够处理动态请求,也能有效地管理和提供静态资源,如图片、CSS样式表和JavaScript文件等。本篇将深入探讨如何在Spring MVC应用中实现图片的访问。 首先,了解Spring MVC的...

    SpringMVCHibernate实例【含登录拦截器例子】

    3. **src/main/webapp**: 包括 Web 应用的静态资源(如 HTML、CSS、JavaScript 文件),WEB-INF 目录下有 web.xml(Web 应用的部署描述符)和 Spring MVC 的 DispatcherServlet 配置文件。 4. **pom.xml**: Maven ...

    通用后台管理系统(ExtJS 5.1 + Hibernate 4.1.7 + Spring MVC 3.2.8).pdf

    这一特性使得首页能将JavaScript文件、CSS文件和图片等静态资源预先加载进内存,极大地提升了ExtJS的加载速度,从而显著改善用户体验。此外,系统提供了经典、灰色和海王星三种皮肤主题,以适应不同用户的需求,且...

    Spring boot web 访问

    对于访问HTML页面,Spring Boot默认在`src/main/resources/static`目录下查找静态资源,包括HTML、CSS、JavaScript等。我们将HTML文件放在该目录下,就可以通过URL直接访问。例如,一个名为`index.html`的文件,可以...

Global site tag (gtag.js) - Google Analytics