目录
一、SpringMVC拦截器(登录拦截,强制登录)
开发拦截器
配置拦截器,登录拦截器有两种常见的配置方法
二、SpringMVC对JSON的支持
使用步骤
引入依赖
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.1</version> </dependency>
实体类
开发控制器
@ResponseBody
可以写在方法上,表示这个方法的返回值将直接作为响应体;可以写在类上,表示这个类中所有方法的返回值将直接作为响应体。
如果一个Controller类中所有的方法都将返回值直接作为响应体,那就可以直接使用@RestController
(相当于在类上同时加入@Controller
和@ResponseBody
)。
@ResponseBody
会自动使用jackson-databind
把对象、数组、集合(Map集合的key需要为字符串)形式的返回值转换成JSON字符串。
三、SpringMVC全局异常处理
作用
当控制器中某个方法在运行过程中突然发生运行异常时,为了照顾用户体验对于用户不能出现默认的500错误界面,应该给用户良好展示错误界面。
全局异常处理类开发
总结:SpringMVC开发常见的三种异常处理方式
-
直接在Controller方法中
try……catch
:单独处理这个方法的异常,并且可以通过多个catch块实现不同异常不同处理。 -
使用拦截器的afterCompletion处理异常:可以针对不同路径采用不同的异常处理方式,并且可以配合
instanceof
实现不同异常不同处理。 -
(最常用)使用全局异常处理类:可以统一处理所有Controller方法的异常,并且可以配合
instanceof
实现不同异常不同处理。