[size=large][b]1.Controller中加参数[/b][/size]
[size=large][b]2.自动注入[/b][/size]
[size=large][b]3.父类中自动注入[/b][/size]
[size=large][b]4.上下文中获取[/b][/size]
[size=large][b]5.@ModelAttribute(线程不安全)[/b][/size]
@Controller
public class TestController {
@RequestMapping("/test")
public void test(HttpServletRequest request) throws InterruptedException {
}
}
[size=large][b]2.自动注入[/b][/size]
@Controller
public class TestController{
@Autowired
private HttpServletRequest request; //自动注入request
@RequestMapping("/test")
public void test() throws InterruptedException{
}
}[size=large][b]3.父类中自动注入[/b][/size]
public class BaseController {
@Autowired
protected HttpServletRequest request;
}
@Controller
public class TestController extends BaseController {
@RequestMapping("/test")
public void test() throws InterruptedException {
}
}
[size=large][b]4.上下文中获取[/b][/size]
@Controller
public class TestController {
@RequestMapping("/test")
public void test() throws InterruptedException {
HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
}
}[size=large][b]5.@ModelAttribute(线程不安全)[/b][/size]
@Controller
public class TestController {
private HttpServletRequest request;
@ModelAttribute
public void bindRequest(HttpServletRequest request) {
this.request = request;
}
@RequestMapping("/test")
public void test() throws InterruptedException {
}
}
本文介绍了在Spring MVC框架中处理HTTP请求的五种不同方法,包括直接在Controller中添加参数、使用@Autowired注解自动注入HttpServletRequest对象、通过继承基类实现自动注入、从上下文中获取请求对象以及利用@ModelAttribute进行绑定。每种方法都有其适用场景。
399

被折叠的 条评论
为什么被折叠?



