ServletContainersinitConfig配置中getServletMappings中使用/和/*的区别

本文解释了在SSM框架中,/和/*路径映射的区别:/用于让Tomcat默认Servlet处理静态资源,提高效率;/*则所有请求包括静态资源都由DispatcherServlet处理,增加了配置复杂性。了解这两种映射有助于优化静态资源管理。
摘要由CSDN通过智能技术生成

看黑马程序员ssm框架

但是不懂为什么该方法要用的是/而不是/*

原因:

使用"/"映射可以使得那些不被应用中定义的特定Servlet映射捕获的请求,回落到Tomcat(或任何其他容器)的默认Servlet处理。默认Servlet通常负责处理静态资源,如图片、CSS和JavaScript文件。这意味着,当使用"/"作为映射时,对静态资源的请求能够被容器默认的机制处理,从而提高了静态内容的访问效率。

相反,当使用"/*"作为Servlet映射时,所有到达应用的请求,包括对静态资源的请求,都会被指定的Servlet处理。这种情况下,静态资源的请求不会被容器的默认Servlet处理,而是需要你在自定义的Servlet中手动处理这些请求或者显式地将它们转发到默认Servlet。这通常会增加配置的复杂性,并可能影响静态资源的访问效率。

因此,"/"映射和"/*"映射在处理静态资源时表现出明显的不同:

  • "/":允许容器使用默认Servlet来处理静态资源,适合大多数应用,尤其是那些使用前端控制器模式的应用。
  • "/*":所有请求都由自定义的Servlet处理,包括静态资源,这要求开发者在Servlet中实现对静态资源的处理逻辑,或者通过其他方式确保这些资源可以被正确处理。

/:大概理解就是如果/pages这个路径你设置了归tomcat的servlet管理,那么就归于tomcat的servlet管理

/*:全部都归于设置的servlet管理即DispatcherServlet管理。

/*配置的则是

非静态资源也会归DispatcherServlet管理

列如:/xx.css  /xx.jsp

而/配置的则是

非静态资源以外的会拦截下来归DispatcherServlet管理

列如:/books ,/users

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值