SpringMVC 静态资源CSS,JS访问不了

问题描述:

程序数据都已经查询出来了,但是加载不了 css、js、图片等资源文件。当在浏览器上直接输入某个css文件的路径时,直接得到404错误。

问题产生原因:

<url-pattern>/</url-pattern> 这表示这个servlet 拦截了所有的请求,包括css,js等。所以出现上面描述的情况。

解决办法(以下全部根据网上资料整理而成):

解决方案1:

step1:在 webapp下建立static 文件夹,并在 static 文件夹里面建立css 文件夹,然后建立对应.css 文件

step2:修改 mvc-dispatcher-servlet.xml 文件(或者spring对应的配置文件,上图的配置文件为spring-mvc.xml)

    添加配置:

<mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>

解决方案2:

修改web.xml

修改

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

这样dispatchservlet 只拦截*.do 的url. 并不拦截css,js

解决方案3(推荐,亲测可用):

修改web.xml

添加

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/static/*</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>
时间: 2024-08-03 00:42:58

SpringMVC 静态资源CSS,JS访问不了的相关文章

Gulp:静态资源(css,js)版本控制

为了防止客户端的静态资源缓存,我们需要每次更新css或js的时候,通过md5或时间戳等方式重新命名静态资源: 然后涉及到的html模板里的src也要做相应的修改,静态资源需要优化(压缩) 文件目录结构 html模板文件 <html> <head> <link rel="stylesheet" href="../styles/one.css"> <link rel="stylesheet" href=&qu

SpringMVC 静态资源配置 css js img等

请求地址如下: http://localhost:2323/static/js/main.js 配置: spring-mvc.xml(并非必须放入static目录下,该位置自定义,根据location查找) <mvc:resources mapping="/static/**" location="static/"/> 将资源放入location属性指定的目录下,此处为static目录     原文地址:https://www.cnblogs.com/h

关于WEB-INF目录下的静态资源(js、css、img)的访问

首先,需要明确的是WEB-INF目录是被保护起来的,其下的jsp页面不能直接运行,只能通过控制器跳转来访问:而同样在此目录下的静态资源(js.css.img)也不能被WEB-INF目录外的其他文件直接引用. WEB-INF下的目录结构如图: jsp文件夹下放的是jsp文件,static文件夹下放的是css,js,img等静态资源: 由于jsp文件夹与static文件夹都在WEB-INF目录下,故jsp文件夹下的jsp引入某js可通过相对路径访问: <script src="../stati

【转载】IIS7.5(经典模式)访问静态资源(.css和.js文件)提示:未能执行 URL

IIS7.5(经典模式)静态资源(.css和.js文件)提示:未能执行 URL “/”应用程序中的服务器错误. 未能执行 URL. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.HttpException: 未能执行 URL. 源错误: 执行当前 Web 请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息. 堆栈跟踪: [HttpExce

Spring中拦截/和拦截/*的区别 - 不能访问到返回的JSP - 访问静态资源(jpg,js等)

一.我们都知道在基于Spring的Application中,需要在web.xml中增加下面类似的配置信息: Xml代码   <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!--   Spring MVC Servlet --> <servlet> <s

SpringMVC对静态资源文件的访问(配置)

<!-- 自动扫描的包名 -->     <context:component-scan base-package="com.app,com.core,JUnit4" ></context:component-scan>          <!-- 默认的注解映射的支持 -->     <mvc:annotation-driven />          <!-- 视图解释类 -->     <bean cl

springMvc静态资源拦截问题

测试的时候发现:如果直接访问web项目的html等静态资源,不能访问 原因如下: 当web.xml中url-pattern配置为"/"时,会导致系统中的静态资源被拦截 如何解决: 1)修改url-pattern    2)进行静态资源映射     3)开放tomcat的defaultServlet 我测试了解决方案2和3,做了如下的配置: web.xml: <!-- springmvc核心 --> <servlet> <servlet-name>sp

从零开始学JAVA(08)-使用SpringMVC4 Restful 风格引用静态文件 css/js/png

在写完helloworld后想给网页加点样式(*.css),结果怎么也显示不了,百度了很多种方法后试行尝试,试验成功并记录下来,方便以后查看. 时隔两年,继续学习JAVA,太久没学了,忘记得差不多,还好以前写的helloworld,还能用. 一.关于开发环境 eclipse-jee-neon-1a-win32 Jdk 1.8u112 (32位版本) SpringMVC 4.3.4.RELEASE apache-tomcat-8.5.8 二.helloworld.jsp文件中的引用的样式表为 st

SpringMVC - 静态资源放行

什么是静态资源? css.js.图片.html等都是静态资源 放行静态资源 1.不使用 springmvc 框架分析 不使用 springmvc 框架,这些静态资源请求都会由 tomcat 的默认的 default 进行处理. 2.使用了 springmvc 框架分析 当配置的 DispatcherServlet 的映射路径不为 / 时,对静态资源的请求最终会由 tomcat 的默认配置来处理,所以不影响静态资源的正常访问. 如果配置的 DispatcherServlet 的映射路径为 / 时,