首页 > 代码库 > EncodingFilter

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=http://www.mamicode.com/‘/EncodingServlet?method=test &name=张三‘/>">点击这里发出GET请求</a><br/>
<form action="<c:url value=http://www.mamicode.com/‘/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