必记点:
1.对象转成json格式传给前台,第一步想到Alibaba的包 JSONObject.tojsonString(对象);
2.json转对象,JSONObject.parseObject(对象,对象字节码类型);
3.解决响应编码格式,response.setContentType(application/json,charset=utf8);
拦截器思路:
1.从请求头中获取token;
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //1.从请求头中获取token String token = request.getHeader("token"); if(!StringUtils.hasLength(token)){ response.setCharacterEncoding("utf-8"); //response.setContentType("application/json,charset=utf8"); PrintWriter writer = response.getWriter(); writer.write("操作异常,请您先登录!"); return false; }
2.根据token,从redis中取值;
//2..根据token,从redis中取值 String info = (String)redisTemplate.opsForValue().get(token);
3.有token则登录过了~放行,没token则未登录~拦截;
//3.有token则登录过了~放行,没token则未登录~拦截 if(StringUtils.hasLength(info)){ return true; }else { response.setCharacterEncoding("utf-8"); //response.setContentType("application/json,charset=utf8"); PrintWriter writer = response.getWriter(); writer.write("操作异常,请您先登录!"); return false; } } }