SpringMVC 处理静态资源 <mvc:default-servlet-handler/>

简介: SpringMVC 处理静态资源: 1. 为甚么会有这样的问题: 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀 若将 DispatcherServlet 请求映射配置为 / , 则SpringMVC 将捕获WEB 容器的所有请求, 包括静态资源的请求, SpringMVC

SpringMVC 处理静态资源:
1. 为甚么会有这样的问题:
优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀
若将 DispatcherServlet 请求映射配置为 / ,
则SpringMVC 将捕获WEB 容器的所有请求, 包括静态资源的请求, SpringMVC 会将他们当成一个普通请求处理,
因找不到对应处理器将导致错误。
2. 解决:在 SpringMVC 的配置文件中配置<mvc:default-servlet-handler/> 的方式解决静态资源的问题。

default-servlet-handler 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler, 它会对进入 DispatcherServlet 的请求进行筛选
如果发现是没有经过映射处理的请求,将该请求交由 WEB 应用服务器默认的Servlet处理。 如果不是静态资源的请求, 才由 DispatcherServlet 继续处理
一般 WEB 应用服务器默认的 Servlet 的名称都是 default。
若所使用的WEB 服务器默认的Servlet 名称不是default, 则需要通过default-servlet-name 属性显式指定

其实只配置<mvc:default-servlet-handler/> 是不够的,还要配置<mvc:annotation-driven></mvc:annotation-driven>

这里写图片描述

目录
相关文章
|
7月前
|
JSON 前端开发 Java
解决Spring MVC中No converter found for return value of type异常
在Spring MVC开发中遇到`No converter found for return value of type`异常,通常是因缺少消息转换器、返回值类型不支持或转换器优先级配置错误。解决方案包括:1) 添加对应的消息转换器,如`MappingJackson2HttpMessageConverter`;2) 自定义消息转换器并实现`HttpMessageConverter`接口,设置优先级;3) 修改返回值类型为如`ResponseEntity`的合适类型。通过这些方法可确保返回值正确转换为响应内容。
600 1
|
2月前
|
Java 应用服务中间件 Spring
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
34 0
|
XML 前端开发 JavaScript
SpringMVC中单独配置<mvc:default-servlet-handler/> 导致 Controller失效
SpringMVC中单独配置<mvc:default-servlet-handler/> 导致 Controller失效
283 0
|
XML 前端开发 Java
SpringMVC中context:annotation-config与mvc:annotation-driven和context:component-scan区别详解
SpringMVC中context:annotation-config与mvc:annotation-driven和context:component-scan区别详解
64 0
|
Java 测试技术 Spring
Configuration problem: Failed to import bean definitions from URL location classpath:spring-mvc.xml
Configuration problem: Failed to import bean definitions from URL location classpath:spring-mvc.xml
859 0
SpringMVC何时加载的controller里的mapping方法
疑问 其实我一直有一个疑问,因为我在跟自己写的controller的生命周期源码的时候,没有发现解析mapping的代码,然后我就在想,什么时候解析并加载的mapping呢??? 结果是一个新的类 RequestMappingHandlerMapping ,惊呆了,我的小伙伴
103 0
|
Java Maven
springMvc33-estful的delete
springMvc33-estful的delete
64 0
springMvc33-estful的delete
|
Java Apache 容器
Spring Boot Controller 返回jsp页面结果404
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/79708989 ...
1171 0
|
Java
web.xml中的&lt;jsp-config&gt;的用法详解
包括 和 两个子元素。    其中元素在JSP 1.2时就已经存在;而是JSP 2.0 新增的元素。元素主要有八个子元素,它们分别为:1.:设定的说明;2.:设定名称;3.:设定值所影响的范围,如:/CH2 或 /*.jsp;4.:若为true,表示不支持EL 语法;5.:若为true,表示不支持语法;6.:设定JSP 网页的编码;7.:设置JSP 网页的抬头,扩展名为.jspf;8.:设置JSP 网页的结尾,扩展名为.jspf。
1700 0