静态资源配置解析从Servlet到springmvc到springboot的源码理解
Servlet 静态资源配置原理
最早的servlet使用servlet容器提供defaultServlet来处理静态资源
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
springmvc静态资源配置原理 4.3.0.RELEASE
第一种配置如下
<mvc:resources mapping="/mapper/**" location="classpath:mapper/" />
解析配置
注册SimpleUrlHandlerMapping
处理静态资源请求
结果展示
第二种方式
<mvc:default-servlet-handler/>
解析
同样也会注册一个SimpleUrlHandlerMapping
使用DefaultServletHttpRequestHandler处理地址
Springboot 配置静态资源 1.5.14.RELEASE
默认配置
Spring Boot 默认将 /** 所有访问映射到以下目录:
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources
可以手动配置如下
在application.properties中添加配置:spring.mvc.static-path-pattern=/static/**
通过代码方式配置
首先启动时自动加载配置类
继承结构
调用父类的xxsupport类来进行添加资源handlers
进行聚合
添加完后进行注册
完成注册simpleUrlHandlermapping
看到日志输出