SpringBoot静态资源处理
在WebMvcAutoConfiguration中,通过配置staticPathPattern设置路径为/**,再通过getStaticLocations设"classpath:/METAINF/resources/","classpath:/resources/","classpath:/static/", "classpath:/public/"为静态访问路径。
如果要更改就在yml文件中通过spring.resources.static-locations来更改
SpringBoot异常处理
在ErrorMvcAutoConfiguration中有两个处理器对象,BasicErrorController,DefaultErrorAttributes。
收到请求后,BasicErrorController调用DefaultErrorAttributes对象得到一个Map集合错误数据。
异步请求:把数据放在ResponseEntity响应体中,转换成json字符串传给前端。
同步请求:如果当前项目下有thyemeleaf模板引擎环境的话,则去寻找templates/error/404.html视图文件,找不到再次查找tempaltes/error/4xx.html,如果还是找不到,再去4个静态资源目录下查找/error/404.html页面,如果找不到再去4个静态资源目录下查找/error/4xx.html文件。
可以通过继承DefaultErrorAttributes,重写getErrorAttributes,在调用super方法后,在map中put的方式添加自定义异常信息。
jar包部署
需注意打成jar包时,需添加插件spring-boot-maven-plugin,然后在Jar包中的MF文件中就包含了启动类,lib文件夹中包含了所需的Jar包和内嵌tomcat,直接通过java -jar -包名的方式就能启动。
打成war包时,需注意把内嵌tomcat启动器的scope域设为provided,以免放到tomcat的web-inf下时版本冲突,此外还需指定下启动类。