用过滤器解决jsp乱码问题!!

      乱码问题一直是困扰大家的尤其是像我们这种菜鸟级别的大问题。下面说一下用filter解决jsp的乱码问题:

Filter代码

package com.wk.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class SysFilter implements Filter { protected String sEncodingName; protected FilterConfig sysFilter; protected boolean bEnable; // protected Log logger = LogFactory.getLog(SysFilter.class); public void destroy() { } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub if (this.bEnable) { try { arg0.setCharacterEncoding(this.sEncodingName); arg1.setContentType("text/html;charset=" + this.sEncodingName); arg1.setCharacterEncoding(this.sEncodingName); arg2.doFilter(arg0, arg1); // logger.info("OK!"); } catch (Exception e) { // logger.info("�����"); } // session.close(); } else { arg2.doFilter(arg0, arg1); } } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub this.sysFilter = arg0; this.loadFilterSetting(); } private void loadFilterSetting() { this.sEncodingName = this.sysFilter.getInitParameter("encoding"); // logger.info("encoding:" + sEncodingName); String sEnable = this.sysFilter.getInitParameter("enable"); if (sEnable != null && sEnable.equalsIgnoreCase("true")) { this.bEnable = true; } else { this.bEnable = false; } } }  

web.xml的配置

<!-- 过滤字符集 --> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>com.wk.filter.SysFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>enable</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 

这样的话项目中的所有的字符就会转换为UTF-8的编码。

你可能感兴趣的:(jsp,exception,String,filter,import,encoding)