SpringMVC的核心DispatcherServlet

本文介绍了SpringMVC的核心组件DispatcherServlet的工作原理及其配置方法,包括如何创建DispatcherServlet、配置初始化参数以及解决其拦截静态资源请求的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.DispatcherServlet的作用

      DispacherServlet是SpringMVC的核心对象,中文叫做中央调度器,本质其实就是一个Servlet,是用来拦截请求的,把拦截下来的请求,依据相应的规则分发到目标Controller来处理

2.如何声明创建DispatcherServlet

      同普通的servlet一样,我们需要在web.xml中配置DispatcherServlet
在这里插入图片描述
<init-param>标签
      当服务器创建DispatcherServlet对象的时候,默认会读取“/WEB-INF/”+ <servlet-name> +“-servlet”来创建SpringMVC容器(在这里即/WEB-INF/springmvc-servlet.xml)
      由于我的SpringMVC配置文件的位置如下,所以需要修改默认读取路径
      在这里插入图片描述
<load-on-srartup>标签
      DispatcherServlet并不会在服务器启动的时候自动创建,所以这里声明这个标签的作用是通知服务器启动的时候创建DispatcherServlet
      标签中数值的意义:当值为0或者大于0时,表示容器在应用启动时就创建这个servlet,正数的值越小越先创建;当是一个负数时或者没有指定时,则指示容器在该servlet被访问时才加载。

3.关于DispatcherServlet拦截静态资源请求的问题

  1. DispatcherServlet会拦截哪些请求
          如果在web.xml中声明DispatcherServlet的时候设置的url-pattern是 / 的话,DispatcherServlet会拦截所有请求(.jsp文件的请求除外) 所以当访问静态资源文件(除.jsp外)的时候就会报错404
          当然,如果url-pattern不是 / 的话就不会出现这个问题
  2. 如何解决
          通过在SpringMVC的配置文件中配置如下信息即可解决(假设我们的静态资源文件都在webapp的static文件夹下面) 在这里插入图片描述      意思是所有以 /static 开头的请求的文件都在static文件夹(包括static的子文件夹)下面去找
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值