@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws Exception {
//设置编码格式
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
JsonData data = new JsonData();
//优先获取到cookie中的token
String token = HttpUtil.getCookieValue(request, Constants.HTTP_TOKEN_KEY);
HttpSession session = request.getSession();
if (Objects.isNull(session.getAttribute(token))){
PrintWriter out = response.getWriter();
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
StringBuilder builder = new StringBuilder();
builder.append("<script type=\"text/javascript\" charset=\"UTF-8\">");
builder.append("alert(\"登录已过期,请重新登录!\");");
builder.append("parent.window.location.href='"+request.getContextPath()+"/index.html';");
builder.append("</script>");
out.print(builder.toString());
out.close();
return false;
}else {
LoginUser loginUser = new LoginUser();
loginUser.setUserName(session.getAttribute(token).toString());
LoginUserThreadLocal.setLoginUser(loginUser);
}
return true;
}