一 创建过滤器并实现filter类
import javax.servlet.Filter;
public class EncodingFilter implements Filter {
二 通过webFilter注解配置过滤器拦截一切请求
@webFilter(" / * ")//过滤一切请求
三 在都FdoFilter方法中统一设置编码方式并且将请求放行
四 完整源代码
package filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebFilter({"/*"}) public class EncodingFilter implements Filter { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest req= (HttpServletRequest) servletRequest; HttpServletResponse resp= (HttpServletResponse) servletResponse; req.setCharacterEncoding("utf8"); resp.setCharacterEncoding("utf8"); // resp.setContentType("application/json;charset=utf8"); filterChain.doFilter(servletRequest,servletResponse);//请求放行 } public void init(FilterConfig filterConfig) throws ServletException { } public void destroy() { } }
五 filter补充:(在前端中可以优化字符串格式)
案例:在数据库中性别的设置是以0和1代替男和女,使用filter转化可以是数值转换为字符串,用法如下: