⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setcharacterencodingfilter.java

📁 具有代表性的示例,是初学java编程者不错的选择.
💻 JAVA
字号:
/*
 * Created on 2005-8-14
 * 
 * TODO To change the template for this generated file go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
package filters;


    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 javax.servlet.UnavailableException;

    public class SetCharacterEncodingFilter implements Filter {
        /**
         * 代表编码类型的String对象
         */
        protected String encoding = null;

        /**
         * 代表过滤器配置的FilterConfig对象
         */
        protected FilterConfig filterConfig = null;

        /**
         * 是否忽略编码
         */
        protected boolean ignore = true;

        // --------------------------------------------------------- Public
        // Methods
        public void destroy() {
            this.encoding = null;
            this.filterConfig = null;
        }

        public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain chain)
    	throws IOException, ServletException {

            // 设置请求的编码
            if (ignore || (request.getCharacterEncoding() == null)) {
                String encoding = selectEncoding(request);
                if (encoding != null)
                    request.setCharacterEncoding(encoding);
            }
            chain.doFilter(request, response);
        }
        /**
         * 过滤器初始化函数,读取配置参数
         */
        public void init(FilterConfig filterConfig) throws ServletException {
    	        this.filterConfig = filterConfig;
            this.encoding = filterConfig.getInitParameter("encoding");
            String value = filterConfig.getInitParameter("ignore");
            if (value == null)
                this.ignore = true;
            else if (value.equalsIgnoreCase("true"))
                this.ignore = true;
            else if (value.equalsIgnoreCase("yes"))
                this.ignore = true;
            else
                this.ignore = false;
        }
     
        protected String selectEncoding(ServletRequest request) {
            return (this.encoding);
        }
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -