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

时间:2023-03-09 18:25:02
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" 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>