-
必要性
- 出现异常并不可怕,可怕的是出现了异常,你却不知道,也没有进行异常处理
- 异常的处理是对用户友好的一个重要点。用和看不懂你的500和404,你应该返回一个系统繁忙或者找不到页面的漂亮的页面给他们。
-
实现方法
- 要处理异常的话,需要实现HandlerExceptionResolver这个接口类,并且重写resolveException方法,在resolveException方法中处理自己的异常逻辑。
-
全局处理器
- /spring-shiro-training/src/main/java/com/wangzhixuan/commons/scan/ExceptionResolver.java
- 继承HandlerExceptionResolver,并添加注解@Component交给Spring处理
-
resolveException方法里面需要做的事情
- 使用log4j2记录异常,把异常信息记录到日志里面,方便查看日志找出问题
- 判断方法是否是异步请求
- 异步请求应该返回json数据并弹窗提示,同步请求返回到错误页面
-
web.xml
- <error-page>
<error-code>404</error-code>
<location>/WEB-INF/views/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/views/error/500.jsp</location>
</error-page>
- web项目的简单异常指引,一般来说有了异常处理之后可以不配这这个。
-
简单说说日志
- System.out.println()是指输出信息到控制台,不会记录到日志文件里面
- 在生成环境中,一般每天会生成一个日志文件,记录系统的运行信息