Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 619|回复: 0

[默认分类] SpringMVC 静态资源CSS,JS访问不了 解决方法

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2020-8-5 11:51:35 | 显示全部楼层 |阅读模式
    来源及参考部分:
           https://www.cnblogs.com/zhyzyn1314/p/5452079.HTML(感谢)   
    验证代码:https://files.cnblogs.com/files/peiyangjun/20180104_springMVC_easyui.zip
    问题描述:
          程序数据都已经查询出来了,但是加载不了 css、js、图片等资源文件。当在浏览器上直接输入某个css文件的路径时,直接得到404错误。
    问题产生原因:

         <url-pattern>/</url-pattern> 这表示这个Servlet 拦截了所有的请求,包括css,js等。所以出现上面描述的情况。
    所以解决办法应该从两方面进行解决:1  让Spring Servlet放过js,css,图片资源信息,不进行拦截。2:让Spring Servet只拦截指定的请求(当然也就放过css,js,图片)

    解决方式如下:
         1  解方案一:让Spring Servlet放过js,css,图片资源信息,不进行拦截(本博主亲测有效)
              具体在:servlet-context.xml中增加以下代码,告诉Spring MVC Servlet,放过resource指定的资源,不进行处理。
               



      
    1.    
    2.         <annotation-driven />
    3.    
    4.     <resources location="/js/" mapping="/js/**"></resources>
    5.     <resources location="/css/" mapping="/css/**" />
    6.     <resources location="/images/" mapping="/images/**" />
    复制代码

      
    View Code

            注意:代码中的js文件夹,css文件夹放在webapp目录下,和WEB-INF同级,如下图:

      
          2.  让Spring Servet只拦截指定的请求(很多人这样用,也是可以行得通)
             修改web.xml
            具体代码如下:      

    1. <servlet-mapping>
    2.     <servlet-name>mvc-dispatcher</servlet-name>
    3.     <url-pattern>*.do</url-pattern>
    4. </servlet-mapping>
    复制代码


      
           即告诉Spring 中处理*.do的请求,其它的都不处理。
      
      
      
    3:方案3:添加 servlet-mapping
          

    1. <servlet-mapping>
    2.         <servlet-name>default</servlet-name>
    3.         <url-pattern>/static/*</url-pattern>
    4.     </servlet-mapping>
    5.     <servlet-mapping>
    6.         <servlet-name>default</servlet-name>
    7.         <url-pattern>*.js</url-pattern>
    8.     </servlet-mapping>
    9.     <servlet-mapping>
    10.         <servlet-name>default</servlet-name>
    11.         <url-pattern>*.css</url-pattern>
    12.     </servlet-mapping>
    复制代码


      
          
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-20 04:05 , Processed in 0.380087 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表