zoukankan      html  css  js  c++  java
  • Spring CharacterEncodingFilter

    web项目使用spring时,可以使用Spring提供的字符集过滤filter,非常方便对于有中文的字符设置

    <!-- 设置请求编码格式为UTF-8 -->
    <filter>
    	<filter-name>springEncoding</filter-name>
    	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    	<init-param>
    		<param-name>encoding</param-name>
    		<param-value>UTF-8</param-value>
    	</init-param>
    	<init-param>
    		<param-name>forceEncoding</param-name>
    		<param-value>true</param-value>
    	</init-param>
    </filter>
    

    需要设置的两个参数为encoding、forceEncoding,分别设置字符集,及是否设置字符集,该filter也非常简单

    public class CharacterEncodingFilter extends OncePerRequestFilter
    {
    
        public CharacterEncodingFilter()
        {
            forceEncoding = false;
        }
    
        public void setEncoding(String encoding)
        {
            this.encoding = encoding;
        }
    
        public void setForceEncoding(boolean forceEncoding)
        {
            this.forceEncoding = forceEncoding;
        }
    
        protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException
        {
            if(encoding != null && (forceEncoding || request.getCharacterEncoding() == null))
            {
                request.setCharacterEncoding(encoding);
                if(forceEncoding)
                    response.setCharacterEncoding(encoding);
            }
            filterChain.doFilter(request, response);
        }
    
        private String encoding;
        private boolean forceEncoding;
    }
    

    主要流程即判断是否需要设置字符集,及设置什么字符集。对于web项目来说非常简单易用

  • 相关阅读:
    WINDOWS操作系统各种版本(转)
    等待的日子
    多媒体大赛决赛纪事
    如何使用nero刻录数据光盘(转)
    无法显示隐藏文件的方法
    2007年教育技术学专业硕士点招生简章
    教育学专业基础综合推荐教材
    .NET 的发展与变迁
    Windows XP SP3与Vista SP1,谁更强?
    2007年教育学专业基础综合考试大纲
  • 原文地址:https://www.cnblogs.com/ikuman/p/4172562.html
Copyright © 2011-2022 走看看