在HandlerInterceptorAdapter的方法中可以自定义返回值,将拦截结果直接返回,但是如果不设置编码方式的话,消息体中会出现乱码:图示红色代码可以解决乱码问题
private void printErrorCode(HttpServletResponse response) throws IOException { ? ???// 此处代码需要在getWriter之前
? ? response.setContentType("application/json:charset=UTF-8"); ? ? response.setCharacterEncoding("UTF-8");
? ? Object result = new Object(); ? ? PrintWriter pw = response.getWriter(); ? ? pw.write(JsonUtil.transfer2JsonString(result)); }
此处不希望下游继续处理时,直接返回false
也可以使用OutputStream
?// 此处代码需要在getOutputStream之前
?response.setHeader("Content-type", "text/html;charset=UTF-8");?
?
?String data = "中国";? ?OutputStream ps = response.getOutputStream();?
?// 注意使用编码格式获取byte[] ?ps.write(data.getBytes("UTF-8"));
|