java过滤器Filter
import org.springframework.boot.web.servlet.ServletComponentScan;
@ServletComponentScan
package com.example.demo.controller;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.OutputStream;
@WebFilter(urlPatterns = "/*")
public class blacklistFilter implements Filter {
@Override
public void init(FilterConfig filterConfig){}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
try{
HttpServletRequest httpRequest=(HttpServletRequest)request;
httpRequest.setCharacterEncoding("UTF-8");
System.out.println("blacklistFilterHttpRequestURI:"+httpRequest.getRequestURI());
chain.doFilter(request, response);
}catch (Exception e){
try{
response.setContentType("application/json; charset=utf-8");
response.setCharacterEncoding("UTF-8");
StringBuffer reStr=new StringBuffer();
reStr.append("{\"status\":").append(false).append(",\"msg\":\"").append(e.getMessage()).append("\"").append(",\"body\":\"黑名单过滤器\"").append("}");
OutputStream out = response.getOutputStream();
out.write(reStr.toString().getBytes("UTF-8"));
out.flush();
}catch (IOException ioe){
System.out.println(ioe.getMessage());
}
return;
}
}
@Override
public void destroy() {}
}