Controller中加参数
这种方法实现最简单,直接在参数中添加就可以使用
线程安全性
此时request对象是方法参数,相当于局部变量,毫无疑问是线程安全的。
优缺点
这种方法的主要缺点是request对象写起来冗余太多,主要体现在两点:
-
如果多个controller方法中都需要request对象,那么在每个方法中都需要添加一遍request参数
-
request对象的获取只能从controller开始,如果使用request对象的地方在函数调用层级比较深的地方,那么整个调用链上的所有方法都需要添加request参数
实际上,在整个请求处理的过程中,request对象是贯穿始终的;也就是说,除了定时器等特殊情况,request对象相当于线程内部的一个全局变量。而该方法,相当于将这个全局变量,传来传去。
自动注入
示例
@Autowired
// 自动注入request
private HttpServletRequest request;