`
孙露威
  • 浏览: 5732 次
  • 性别: Icon_minigender_1
  • 来自: 肃宁
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts中文乱码..添加过滤器( --修改)

阅读更多
-------------------------------------
SetCharacterEncodingFilter.java
------------------------------------------------------------------------------
package com.core.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 SetCharacterEncodingFilter implements Filter {

        // ----------------------------------------------------- Instance Variables

        /**
         * The default character encoding to set for requests that pass through this
         * filter.
         */
        protected String encoding = null;

        /**
         * The filter configuration object we are associated with. If this value is
         * null, this filter instance is not currently configured.
         */
        protected FilterConfig filterConfig = null;

        /**
         * Should a character encoding specified by the client be ignored?
         */
        protected boolean ignore = true;

        // --------------------------------------------------------- Public Methods

        /**
         * Take this filter out of service.
         */
        public void destroy() {

                this.encoding = null;
                this.filterConfig = null;

        }

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

                // Conditionally select and set the character encoding to be used
                if (ignore || (request.getCharacterEncoding() == null)) {
                        String encoding = selectEncoding(request);
                        if (encoding != null)
                                request.setCharacterEncoding(encoding);
                }

                // Pass control on to the next filter
                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 Methods

        protected String selectEncoding(ServletRequest request) {

                return (this.encoding);

        }

}
-----------------http://bbs.17testing.com/thread-6528-1-1.html---------------------------------------------------



在web.xml  添加:
        <filter>
                <filter-name>EncodingFilter</filter-name>
            
                <filter-class>
                        systemadmin.SetCharacterEncodingFilter
                </filter-class>
                <init-param>
                        <param-name>encoding</param-name>
                        <param-value>UTF-8</param-value>
                </init-param>
        </filter>
        <filter-mapping>
                <filter-name>EncodingFilter</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics