java filter过滤器乱码问题

public void doFilter(ServletRequest req, ServletResponse res,
   FilterChain chain) throws IOException, ServletException {

   System.out.println("req:"+req.getParameter("name")); //出现乱码的原因
   System.out.println("过滤前:");
  
   req.setCharacterEncoding("gbk");

   System.out.println("过滤后:");
   System.out.println("req:"+req.getParameter("name"));


   chain.doFilter(req, res);

 

 }

 

运行中出现乱码

 

api中的解释:

setCharacterEncoding(String env) throws java.io.UnsupportedEncodingException

    重写此请求正文中使用的字符编码的名称。必须在使用 getReader() 读取请求参数或读取输入之前调用此方法。否则,此方法没有任何效果。 <!-- Member Translation Start -->

你可能感兴趣的:(java)