搭建SpringMVC环境-解决静态资源访问不了问题代码详解

本文介绍了在SpringMVC环境下,静态资源无法访问的问题及其原因,包括Tomcat的DefaultServlet处理静态资源的机制。提供了两种解决方案:一是通过配置让静态资源由DefaultServlet处理,二是使用SpringMVC的mvc:resources注解排除静态资源拦截。
摘要由CSDN通过智能技术生成

方案1

  1. DispatcherServlet中拦截所有请求: “/”, 导致项目的静态资源访问不了。

  2. 原因分析:

    1. Tomcat启动,加载自身的tomcat/conf/web.xml 配置文件; 也会加载所有项目的web.xml配置,如果项目的web.xml配置与tomcat自身的配置有冲突,则以自己项目配置为主。

    2. Tomcat服务器,也叫做servlet服务器,只支持servlet规范,访问所有的资源都是通过servlet处理。

    3. 举例: 我们访问静态资源,但是自己又没有写Servlet,也可以访问。是因为Tomcat自身提供了一个Servlet:DefaultServlet 默认servlet,专门处理静态资源,把静态资源响应给客户端。

    4. Tomcat中的DefaultServlet 默认配置:(查看)

    5. 通过在自己项目中,指定静态资源交给DefaultServlet处理。
      在这里插入图片描述

方案2
加粗样式
SpringMVC提供的解决方案:

方式1: 所有的静态资源交给DefaultServlet处理。 (重点)

方式2: 通过mvc:resources 指定springMVC不拦截指定的资源。

关键配置

<mvc:resources mapping="/index.html" location="/index.html
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值