我们知道,如果是POST请求,我们需要调用request.setCharacterEncoding(“utf-8”)方法来设计编码;如果是GET请求,我们需要自己手动来处理编码问题。如果我们使用了EncodingFilter,那么就处理了POST和GET请求的编码问题
1、设置过滤器首先需要导入下面的jar包
itcast-tools-1.4.2.jar
这个jar包封装了下面的功能
把jar包添加到项目的工程中
2、过滤器的servlet已经在上面的jar包中写好了。我们只需要在web.xml中进行配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>BaseServlet</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 处理全站请求编码,无论是GET还是POST,默认是UTF-8 --> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>cn.itcast.filter.EncodingFilter</filter-class> <init-param> <param-name>charset</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <!-- 声明Servlet对象 --> <servlet-name>VerifyCodeServlet</servlet-name> <!-- 上面一句指定Servlet对象的名称 --> <servlet-class>cn.itcast.vcode.servlet.VerifyCodeServlet</servlet-class> <!-- 上面一句指定Servlet对象的完整位置,包含包名和类名 --> </servlet> <servlet-mapping> <!-- 映射Servlet --> <servlet-name>VerifyCodeServlet</servlet-name> <!--<servlet-name>与上面<Servlet>标签的<servlet-name>元素相对应,不可以随便起名 --> <url-pattern>/VerifyCodeServlet</url-pattern> <!-- 上面一句话用于映射访问URL --> </servlet-mapping> </web-app>