Web应用解决中文乱码的两种方式


(1)第一种:常用的是我们自定义的过滤器

package com.lc.filter;
//ctrl+shift+o 导入各种包 即可
/**
* 过滤器的使用方法
* 在创建类的时候 要用到接口Filter
* 要自己在web.xml文件中配置过滤器
* @author xuliugen
*
*/
public class MyFilter extends HttpServlet implements Filter {
private String encoding=null;
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
//一下两段代码如果可以理解就好 不可以理解的话 到时候用的时候直接拿来用就好了
arg0.setCharacterEncoding(encoding);
arg2.doFilter(arg0, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
encoding = arg0.getInitParameter("encoding"); //获得配置文件中的encoding
}
}

然后在web.xml文件中配置过滤器:

<filter>
		<filter-name>MyFilter</filter-name>
		<filter-class>com.lc.web.filter.MyFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>MyFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping> 



(2)第二种思路是,如果使用Spring框架的话,我们可以使用框架自带的过滤器,只需在web.xml文件中配置下边就可以了

<!-- 使用 spring框架自己提供的过滤器解决乱码 -->
	<filter>
		<filter-name>encoding</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>
	</filter>
	<filter-mapping>
		<filter-name>encoding</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。