天天看点

《精通Spring MVC 4》——1.7 错误与转码配置

本节书摘来自异步社区《精通spring mvc 4》一书中的第1章,第1.7节,作者:【美】geoffroy warin著,更多章节内容可以访问云栖社区“异步社区”公众号查看

还记得在没有添加控制器的时候,第一次启动应用吗?当时看到了一个有意思的“whitelabel error page”输出。

错误处理要比看上去更麻烦一些,尤其是在没有web.xml配置文件并且希望应用能够跨web服务器部署时更是如此。好消息是spring boot将会处理这些事情!让我们看一下errormvcautoconfiguration:

这段配置都做了些什么呢?

定义了一个bean,即defaulterrorattributes,它通过特定的属性暴露了有用的错误信息,这些属性包括状态、错误码和相关的栈跟踪信息。

定义了一个basicerrorcontroller bean,这是一个mvc控制器,负责展现我们所看到的错误页面。

允许我们将spring boot的whitelabel错误页面设置为无效,这需要将配置文件application.properties中的error.whitelable.enabled设置为false。

我们还可以借助模板引擎提供自己的错误页面。例如,它的名字是error.html,errortemplatemissingcondition条件会对此进行检查。

在本书后面的内容中,我们将会看到如何恰当地处理错误。

至于转码的问题,非常简单的httpencodingautoconfiguration将会负责处理相关的事宜,这是通过提供spring的characterencodingfilter类来实现的。通过spring.http.encoding.charset配置,我们可以覆盖默认的编码(“utf-8”),也可以通过spring.http.encoding.enabled禁用这项配置。