参考
方法
// 1,直接参数获取
@RequestMapping("/path")
public String getReqAndRes(HttpServletRequest request, HttpServletResponse response){
/** 相关业务代码 此时可以直接使用request response对象 */
}
// 2,在代码里面获取可以通过RequestContextHolder的静态方法getRequestAttributes()获取Request相关的变量,如request, response等。
// 使用了文件上传的话,那么将获取不到其参数。由于使用了文件上传,form表单的enctype类型为”multipart/form-data”,springmvc对文件上传的处理类实际却为spring-mvc.xml文件中配置的CommonsMultipartResolver。从RequestContextHolder中获取到的就是原来的RequestFacade对象,而不是经过spring mvc处理之后的MultipartHttpServletRequest对象,其后果就是,从RequestContextHolder获取request后,无法直接通过getParameter()获取参数值。
public class RequestHolder {
public static HttpServletRequest getRequest(){
HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return req;
}
public static HttpServletResponse getResponse(){
HttpServletResponse resp = ((ServletWebRequest)RequestContextHolder.getRequestAttributes()).getResponse();
return resp;
}
}
//3,MultipartHttpServletRequest对象获取,需要参考文中过滤器
demo
异常中获取request与response,https://blog.csdn.net/weixin_38370441/article/details/120264992