SpringMVC静态资源无法访问的问题

springmvc的入门 前言 我们之前已经搞好了关于所有mybatis与spring的一个集成,当然还运用了rdies(缓存机制), 所以我们现在就参考如何可以去连接tomcat和jsp,以及前端和后端的一个增删改查, 简介 1. 什么是springMVC? Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。 2. SpringMVC处理请求的流程 2.1 首先用户... 阅读详情

应用springMVC时如果配置URL映射时如下配置 [html] view plaincopy
  1. <servlet>   
  2.          <servlet-name>appServlet</servlet-name>   
  3.          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
  4.          <init-param>   
  5.              <param-name>contextConfigLocation</param-name>   
  6.              <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>   
  7.          </init-param>   
  8.          <load-on-startup>1</load-on-startup>   
  9.      </servlet>   
  10.     
  11.      <servlet-mapping>   
  12.          <servlet-name>appServlet</servlet-name>   
  13.          <url-pattern>/</url-pattern>   
  14.      </servlet-mapping>   

会导致页面引用的JS CSS发生找不到的错误 ,以下有两种方式解决问题,仅供参考:

方法一:在web.xml中添加

[html] view plaincopy
  1. <servlet-mapping>   
  2.          <servlet-name>default</servlet-name>   
  3.          <url-pattern>*.css</url-pattern>   
  4.      </servlet-mapping>   
  5.     
  6.      <servlet-mapping>   
  7.          <servlet-name>default</servlet-name>   
  8.          <url-pattern>*.gif</url-pattern>   
  9.      </servlet-mapping>   
  10.     
  11.      <servlet-mapping>   
  12.          <servlet-name>default</servlet-name>   
  13.          <url-pattern>*.jpg</url-pattern>   
  14.      </servlet-mapping>   
  15.     
  16.      <servlet-mapping>   
  17.          <servlet-name>default</servlet-name>   
  18.          <url-pattern>*.js</url-pattern>   
  19.      </servlet-mapping>   
  20.    


指明对于如上资源文件不采用spring的过滤器
关于default是tomcat配置的一个servlet,“DefaultServlet被定义在$CATALINA_HOME/conf/web.xml中,配置文件中被定义的东西会在Tomcat启动的时候 被加载,对所有的webapp都有效。DefaultServlet在Tomcat中主要是做目录列表(Directory Listing)用指明对于如上资源文件不采用spring的过滤器
关于default是tomcat配置的一个servlet,“DefaultServlet被定义在$CATALINA_HOME/conf/web.xml中,配置文件中被定义的东西会在Tomcat启动的时候 被加载,对所有的webapp都有效。DefaultServlet在Tomcat中主要是做目录列表(Directory Listing)用指明对于如上资源文件不采用spring的过滤器

关于default是tomcat配置的一个servlet,“DefaultServlet被定义在$CATALINA_HOME/conf/web.xml中,配置文件中被定义的东西会在Tomcat启动的时候 被加载,对所有的webapp都有效。DefaultServlet在Tomcat中主要是做目录列表(Directory Listing)用

[html] view plaincopy
  1. <servlet>    
  2.          <servlet-name>default</servlet-name>    
  3.          <servlet-class>    
  4.            org.apache.catalina.servlets.DefaultServlet    
  5.          </servlet-class>    
  6.          <init-param>    
  7.              <param-name>debug</param-name>    
  8.              <param-value>0</param-value>    
  9.          </init-param>    
  10.          <init-param>    
  11.              <param-name>listings</param-name>    
  12.              <param-value>true</param-value>    
  13.          </init-param>    
  14.          <load-on-startup>1</load-on-startup>    
  15.      </servlet>    
  16.     
  17.  ...    
  18.     
  19.      <servlet-mapping>    
  20.          <servlet-name>default</servlet-name>    
  21.          <url-pattern>/</url-pattern>    
  22.      </servlet-mapping>   

有一些参数可以控制DefaultServlet的行为。此外,当请求的URL是/的时候, 也就是没有匹配的时候,就会触发这个DefaultServlet。


方法二:使用spring mvc 的 resources 注解 用来处理静态文件

spring mvc 的<mvc;resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring3.0.4出来的时候spring还没有更新其schema所以在配置文件中有可能找不到<mvc:resources >标签,这个问题在spring3.0.5中已经解决,而且网上也有很多其他的解决方案,我在这里就不记录了。

首先使用spring mvc需要配置其使用的servlet.在web.xml中:

 

有一些参数可以控制DefaultServlet的行为。此外,当请求的URL是/的时候, 也就是没有匹配的时候,就会触发这个DefaultServlet。

 

方法二:使用spring mvc 的 resources 注解 用来处理静态文件

spring mvc 的<mvc;resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring3.0.4出来的时候spring还没有更新其schema所以在配置文件中有可能找不到<mvc:resources >标签,这个问题在spring3.0.5中已经解决,而且网上也有很多其他的解决方案,我在这里就不记录了。

首先使用spring mvc需要配置其使用的servlet.在web.xml中:

[html] view plaincopy
  1. <servlet>     
  2.   <servlet-name>springMVC</servlet-name>     
  3.   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>     
  4.   <load-on-startup>1</load-on-startup>     
  5.   </servlet>     
  6.     
  7.   <servlet-mapping>     
  8.       <servlet-name>springMVC</servlet-name>     
  9.       <url-pattern>/</url-pattern>     
  10.  </servlet-mapping>     
  11.    


 

这是会影响到静态资源文件的获取,这样就需要有这个标签来帮你分类完成获取静态资源的责任。
所以在springMVC-servlet.xml文件中加入如下代码

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>     
  2.      <beans xmlns="http://www.springframework.org/schema/beans"       
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       
  4.          xmlns:mvc="http://www.springframework.org/schema/mvc"     
  5.          xsi:schemaLocation="http://www.springframework.org/schema/beans   
  6.   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd        
  7.          http://www.springframework.org/schema/mvc    
  8.  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">        
  9.           
  10.          <mvc:resources mapping="/javascript/**"    
  11.          location="/static_resources/javascript/"/>     
  12.          <mvc:resources mapping="/styles/**"    
  13.          location="/static_resources/css/"/>     
  14.          <mvc:resources mapping="/images/**"    
  15.          location="/static_resources/images/"/>     
  16.          <mvc:default-servlet-handler />     
  17.               

这里可以看到我所有的页面引用到/styles/**的资源都从/static_resources/css里面进行查找。

根据以上的两种方法,就可以访问到站点的静态资源了。

SpaceMesh Mining 教程 當參與Spacemesh的用戶在完成P盤工作後需要完成兩個部分工作:PoET+PoST,這兩部分均是在不同的規定時間完成,具體可參考後續的時間表。註意!只有PoET和PoST均完成的用戶才可以獲得收益。Spacemesh相關P盤教程:說明:1.Spacemesh每個紀元epoch周期為14天,在8月7日完成PoET的將在8月20日完成PoST,收益將在8月25日後發放(之後用戶收益將每隔14天發放一次) 後續PoET時間為8月7日+N14 **後續PoST時間為8月20日+N。 阅读详情

相关推荐

PowerShell 升级到 v7 并设置为默认版本(详细操作指南)

本文详细介绍了如何将PowerShell升级到v7并设为默认版本。PowerShell 7基于.NET Core构建,具有跨平台支持、性能优化和新语法特性等优势。文章提供了多种安装方法(MSI安装包、包管理器)和设置默认版本的方案(修改PATH、创建符号链接、配置编辑器等),同时涵盖企业批量部署解决方案和常见问题处理。通过升级到PowerShell 7,用户可以获得更强大的命令行体验,适用于开发、运维和自动化场景。

huluang的专栏 4144

SpringMVC无法访问静态资源的解决办法

1.激活Tomcat的defaultServlet来处理静态文件 在SpringMVC配置文件里添加 <mvc:default-servlet-handler/> 在web.xml里配置不需要被拦截的内容: <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern

Alt__的博客 1029

短途运输货量预测与车辆调度:Mathorcup D题完整技术路线解析

在物流运营中,货量预测与车辆调度是降本增效的两大核心环节。时间序列预测通过历史数据挖掘周期性规律,为资源配置提供量化依据;而带容量约束与时间窗的车辆路径问题(VRP)则是在满足业务约束下优化运输成本。基于特征工程与机器学习模型(如LightGBM)的预测方案,能够有效捕捉节假日与星期效应,显著提升精度。调度侧借助OR-Tools等求解器,可快速生成可行路径方案。该技术路线不仅适用于数学建模竞赛,对实际短途运输场景同样具有工程参考价值。本文结合2025年Mathorcup D题,给出从数据清洗、特征构造、多模

weixin_34212762的博客 318

静态资源过滤问题

springmvc配置文件中可以配置静态资源不过滤: <!-- location 表示路径,mapping 表示文件,**表示该目录下的文件以及子目录的 文件 --> <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:resources location="/scripts/

weixin_45335305的博客 1326

SpringMVC处理静态资源异常

springmvc处理静态资源异常。

Jevons’ Blog 3038

关于SpringMVC<mvc:annotation-driven/>标签标的解决方法

解决办法: 在标签内,添加xmlns:mvc=“http://www.springframework.org/schema/mvc”,即可解决

王大梦的博客 925

2021-02-25

<mvc:resources不可用/不生效 <mvc:resources mapping="/js/**" location="/js/"></mvc:resources>不可用 springMVC静态资源管理器不可用/location/无法访问静态资源

qq_45339157的博客 396

Tomcat部署SpringMvc项目出现无法访问静态资源问题

Tomcat部署SpringMvc项目出现无法访问静态资源问题结构图: 最近在做一个web项目,在本地部署Tomcat服务器的时候可以访问静态资源,但是在服务器端却没有办法访问静态资源,网上找了很多博客,都不适用于我的情况,最后在师兄协助下解决了问题。 首先来看我的项目结构 webapp下存放的是静态资源statics和WEB-INF文件夹。 以下是我的jsp页面资源路径和mvc静态资源配置...

whason的博客 3097

完美解决SpringMVC无法访问静态资源问题

完美解决SpringMVC无法访问静态资源问题 原文在此 大致问题是 在web.xml中 &lt;servlet&gt; &lt;servlet-name&gt;springmvc&lt;/servlet-name&gt; &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherS...

weixin_41016986的博客 3341

SpringMVC静态资源无法访问的一个奇怪的问题

SpringMVC静态资源无法访问的一个奇怪的问题: 需要刷新一下Eclipse的目录,确保Eclipse可以访问,这样内置的Web容器才可以访问这个新增的文件。

海纳百川 1万+

springMVC无法访问静态资源问题

springMVC无法访问静态资源问题,如果你的配置什么的都没问题就去改一下你的静态资源的文件名试一试吧。有时候就很玄幻。

weixin_46332036的博客 209

SpringMVC框架|静态资源无法访问问题

文章目录静态资源无法访问问题说明解决方案 静态资源无法访问问题说明 使用restful开发风格会遇到静态资源无法访问问题,比如下面项目中的一张图片,当直接在浏览器中访问http://localhost:8080/SpringMVC02/img/img01.jpg会出现404的情况。 这是restful开发风格的一个自带问题,因为使用了restful开发风格,当访问静态资源时,被前端控制器拦截...

匿名攻城狮 2091

SpringMVC解决静态资源无法访问问题

SpringMVC解决静态资源无法访问问题

qingfengmax的博客 1433

SpringMVC-中文乱码问题静态资源(CSS,js,images)无法访问问题

一、中文乱码问题 1.1、web.xml文档的配置 Spring框架给我们提供过滤器CharacterEncodingFilter 这个过滤器就是针对于每次浏览器请求进行过滤的,然后再其之上添加了父类没有的功能即处理字符编码。其中encoding用来设置编码格式,forceEncoding用来设置是否理会 request.getCharacterEncoding()方法, 设置为true则强制覆盖之前的编码格式 在web.xml中配置的初始页面是不会进入过滤器的,结果就是导致访问初始页面时出现中文乱码

Dev_Hugh的博客 1033

springmvc静态资源无法访问问题

项目目录结构如下: 首先尝试了将静态资源文件放在了WEB-INF下,然后在spring配置文件中使用进行了配置 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cont

S-H_A-N 1016

springMVC引入js问题

js文件放在web下面的js文件夹里面错 解决方法 配置文件中 解决!

weixin_44019125的博客 397

springmvc静态资源的拦截问题

在web.xml中添加配置,注意配置defaultServlet一定要配置springmvc的前端控制器(DispatcherServlet)前面才会生效。 <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-patter...

似清风的blog 262

静态资源文件访问问题的解决

静态资源文件访问问题的解决 location后面的路径原因:lib需要在webapp根目录下。其它子目录下就会

pingce2的博客 2114

Spring boot项目设置加载静态资源的路径(spring.resources.static-locations)

默认Springboot将从如下位置按如下顺序加载jar包对应前端静态资源: 1.jar包同级static目录 2.jar包同级public目录 3.jar包同级resource目录 4.jar包/META-INF/resources 在调试模式下,Springboot将从class目录中按如下顺序加载对应前端静态资源 1.class目录下static目录 2.class目录下public目录 3...

南熏门前一只喵 2万+

Python+Spark 2.0+Hadoop机器学习与大数据

Python+Spark 2.0+Hadoop机器学习与大数据实战完整高清带书签的PDF压缩包

上一篇: SpringMVC-Day5
下一篇: SpringMVC-Day6
JETLYU
博客等级 码龄14年 1粉丝 12原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值