乱发分为:get、post乱码。
get乱码有Tomcat造成的,在Tomcat的conf下的server.xml文件中设置。

Tomcat 初始化顺序: LisTenerife监听 -> Filter过滤 -> servlet.
postl 乱码解决 filter 过滤。下面8 - 28行
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"version="5.0"><!--在此之前不能获取任何请求信息,不然不起作用--><!--解决乱码--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!--设置字符编码--><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><!--响应编码--><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><!--过滤所有请求--><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置SpringMVC的前端控制器,对浏览器发送的请求统一进行处理 --><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 通过初始化参数指定SpringMVC配置文件的位置和名称 --><init-param><!-- contextConfigLocation为固定值 --><param-name>contextConfigLocation></param-name><!-- 使用classpath:表示从类路径查找配置文件,例如maven工程中的 src/main/resources --><param-value>>classpath:springMVC-servlet.xml</param-value></init-param><!--作为框架的核心组件,在启动过程中有大量的初始化操作要做而这些操作放在第一次请求时才执行会严重影响访问速度因此需要通过此标签将启动控制DispatcherServlet的初始化时间提前到服务器启动时 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><!--1、设置springMVC的核心控制器所能处理的请求的请求路径,/ 所匹配的请求可以是/login或.html或.js或.css方式的请求路径,但是/不能匹配.jsp请求路径的请求。2、/* 能够匹配所有请求,例如在使用过滤器时,若需要对所有请求进行过滤,就需要使用/*的写法。3、 *.do 匹配 .do 后缀的请求--><url-pattern>/</url-pattern></servlet-mapping></web-app>
