一.在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 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);
- } 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;
- }
- }
- }