首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts使用filter解决中文乱码有关问题

2012-10-09 
Struts使用filter解决中文乱码问题一.在web.xml中配置xml 代码filterfilter-nameEncodingFilter/filt

Struts使用filter解决中文乱码问题
一.在web.xml中配置

xml 代码

<filter>           <filter-name>EncodingFilter</filter-name>           <filter-class>com.kenshin.base.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>*.do</url-pattern>   </filter-mapping>
  

二.filter类代码

java 代码
package com.kenshin.base;      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;    import org.apache.commons.logging.Log;    import org.apache.commons.logging.LogFactory;    import org.hibernate.Session;    import org.hibernate.SessionFactory;    import org.hibernate.Transaction;       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 request, ServletResponse response,                FilterChain filterChain) throws IOException, ServletException {            // TODO Auto-generated method stub            if (this.bEnable) {                try {                      request.setCharacterEncoding(this.sEncodingName);                    response.setContentType("text/html;charset=" + this.sEncodingName);                    response.setCharacterEncoding(this.sEncodingName);                    filterChain.doFilter(request, response);                   } catch (Exception e) {                    logger.info("出错了");                }                // session.close();            } else {                filterChain.doFilter(request, response);            }        }           public void init(FilterConfig filterConfig) throws ServletException {            // TODO Auto-generated method stub            this.sysFilter = filterConfig;            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;            }        }      } 


注:本文转载http://kenshinlk.iteye.com/blog/59101

热点排行