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>





您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多