Springmvc中在controller注入request会有线程安全问题吗
展开全部
1、Autowire注入request后,使用实例变量会有安全问题
2、会覆盖request
3、hashcode相同还是一个对象
觉的方法中写参数麻烦,这样可以:
@Controller
public class AControllre extends AbstractController {
@RequestMapping("/test")
public String test(){
//使用
String name = getRequest().getParameter("username");
return "";
}
}
class AbstractController {
protected HttpServletRequest getRequest() {
return ((ServletRequestAttributes)
RequestContextHolder.getRequestAttributes()).getRequest();
}
protected HttpServletResponse getResponse() {
return new ServletWebRequest(((ServletRequestAttributes)
RequestContextHolder.getRequestAttributes()).getRequest()).getResponse();
}
}
2、会覆盖request
3、hashcode相同还是一个对象
觉的方法中写参数麻烦,这样可以:
@Controller
public class AControllre extends AbstractController {
@RequestMapping("/test")
public String test(){
//使用
String name = getRequest().getParameter("username");
return "";
}
}
class AbstractController {
protected HttpServletRequest getRequest() {
return ((ServletRequestAttributes)
RequestContextHolder.getRequestAttributes()).getRequest();
}
protected HttpServletResponse getResponse() {
return new ServletWebRequest(((ServletRequestAttributes)
RequestContextHolder.getRequestAttributes()).getRequest()).getResponse();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询