我想弄一个公用的getUser静态方法,这样就不用在每一个controller中都手动将token转成user了
public class UserUtil {
@Autowired
private static HttpServletRequest request;
@Autowired
private static HttpServletResponse response;
public static User getUser() {
return null;
}
public static String getUserName() {
System.out.println(request);
System.out.println(response);
String cookieToken =CookieUtils.getCookie(request,"token");
System.out.println("cookieToken:" + cookieToken);
String headerToken = request.getHeader("token");
System.out.println("headerToken:" + headerToken);
return headerToken;
}
}
可是这样并不能获取request对象,那应该怎么办呢?
谢谢邀请。
spring mvc在处理请求的时候,会把请求对象放到RequestContextHolder持有的ThreadLocal对象中,你可以去看看DispatcherServlet类的源代码。