1.首先到Tomcat的安装目录下的\conf\server.xml
定位至并添加:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
2.写用于进行编码预处理的过滤器
核心代码:
private String charset="UTF-8";
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest)arg0;
HttpServletResponse reps=(HttpServletResponse)arg1;
reps.setContentType("text/html;charset="+charset);
req.setCharacterEncoding(charset);
chain.doFilter(req, reps);
}
public void init(FilterConfig filterConfig) throws ServletException {
//获取初始化参数
String str=filterConfig.getInitParameter("encoding");
if(str!=nu|){
charset=str;
}
}
3.配置过滤器
<filter> <!--注意这里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->
<init-param> <!--初始化参数-->
<param-name>encoding</param-name> <!--参数名称-->
<param-value>utf-8</param-value> <!--参数值-->
</init-param>
</filter>
<filter-mapping> <!--过滤器映射-->
<filter-name>CharactorFilter</filter-name><!--过滤器名称-->
<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
</filter-mapping>
4.OK