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

来源:互联网 发布:linux修改vim配置 编辑:程序博客网 时间:2024/05/29 11:35


(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>





2 0
原创粉丝点击