JavaWeb网上图书商城完整项目--过滤器解决中文乱码

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

1、设置过滤器首先需要导入下面的jar包

itcast-tools-1.4.2.jar

这个jar包封装了下面的功能

JavaWeb网上图书商城完整项目--过滤器解决中文乱码

把jar包添加到项目的工程中

JavaWeb网上图书商城完整项目--过滤器解决中文乱码

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" >
  <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>