spring boot--7 错误页面定制&修改Servlet容器的相关配置

2)、如果定制错误响应:
1 ).如何定制错误的页面;
1).有模板引擎的情况下; error/状态码: [将错误页面命名为错误状态码.html放在模板引起文件夹里面的error文件夹下] , 发生此状态码的错误就会来到对应的页面;
我们可以使用4xx和5xx作为错误页面的文件名来匹配这种类型的所有错误,精确优先(优先寻找精确的状态码.html ) ;
页面能获取的信息;
timestamp :时间戳
status :状态码
error :错误提示
exception:异常对象
message :异常消息
errors : JSR303数据校验的错误都在这里
2)、没有模板引擎(模板引擎找不到这个错误页面) ,静态资源文件夹下找;
3)、以上都没有错误页面,就是默认来到SpringBoot默认的错误提示页面

但是没有自适应效果。

转发到/error进行自适应响应效果处理

3)、将我们的定制数据携带出去;
出现错误以后,会来到/error请求,会被BasicErrorController处理,响应出去可以获取的数据是由geterrAttributes得到的(是AbstractErrorController ( ErrorController )规定的方法) ;
1.完全来编写一个ErrorController的实现类[或者是编写AbstractErrorController的子类],放在容器中 ;
2.页面上能用的数据,或者是json返回能用的数据都是通过errorAttributes.geterrAttributes得到;
容器中DefaultErrorAttributes.getErrorAttributes() ;默认进行数据处理的;

如何定制和修改Servlet容器的相关配置;
1.修改和server有关的配置( ServerProperties ) ;

2.编写一个EmbeddedServletContainerCustomizer :嵌入式的Servlet容器的定利器;来修改Servlet容器的配置

2)、注册Servlet3 三大组件[ Servlet、Filter. Listener ]
由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件
注册三大组件用以下方式:
ServletRegistrationBean

FilterRegistrationBean

ServletL istenerRegistrationBean

SpringBoot帮我们自动SpringMVC的时候,自动的注册SpringMVC的前端控制器; DlspatcherServlet ;

当创建的是jar工程时:

没有template文件映射,需要自己拼串:

外置的Servlet容器:外面安装Tomcat--应用war包的方式打包;
步骤:
1 )、必须创建一个war项目:
2)、将嵌入式的Tomcat指定为provided ;

3)、必须编写一个SpringBootServletinitializer的子类,并调用configure方法

4)、启动服务器就可以使用;

猜你喜欢

转载自blog.csdn.net/XiaoXiao_Lin/article/details/109568732