EncodingFilter

Posted Nicole

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EncodingFilter相关的知识,希望对你有一定的参考价值。

EncodingFilter用来处理请求编码问题。

我们知道,如果是POST请求,我们需要调用request.setCharacterEncoding(“utf-8”)方法来设计编码;如果是GET请求,我们需要自己手动来处理编码问题。如果我们使用了EncodingFilter,那么就处理了POST和GET请求的编码问题。

web.xm
<filter>
    <filter-name>EncdoingFilter</filter-name>
    <filter-class>cn.itcast.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>EncdoingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
index.jsp
<%--请求EncodingServlet的test方法 --%>
<!--请求EncdoingServlet的test方法 -->
<a href="<c:url value=‘/EncodingServlet?method=test &name=张三‘/>">点击这里发出GET请求</a><br/>
<form action="<c:url value=‘/EncodingServlet‘/>" method="post">
<!-- 请求EncodingServlet的test方法-->
  <input type="hidden" name="method" value="test"/>
  <input type="text" name="name" value="李四"/>
  <input type="submit" value="请求这里发出POST请求"/>
</form>
EncodingServlet
/**
     * 测试EncodingFilter
     * @author qdmmy6 
    * */ 
//因为添加了EncodingFilter过滤器,那么所有的Servlet都不用再去处理请求编码的问题了。
     public class EncodingServlet extends BaseServlet {
     /**
     * 可以使用POST和GET两种方式请求test()方法!查看输出是否为乱码!
     */
     public String test(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         String name = request.getParameter("name"); 
        System.out.println(name); return null;
     }
 }

以上是关于EncodingFilter的主要内容,如果未能解决你的问题,请参考以下文章

tomcat异常[1]--java.lang.ClassNotFoundException: XXXX.EncodingFilter

Exception starting filter encodingFilter

servlet3.0 @webfilter 过滤顺序

JQuery发送ajax请求时中文乱码

使用spring框架自带的字符拦截器

使用spring框架自带的字符拦截器