• 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项目来说非常简单易用

  • 相关阅读:
    Python之字典
    Python之模块
    Python之字符串格式化
    结束循环
    循环
    C语言static和局部变量
    C static extern和全局变量
    extern static和函数
    C语言typedef
    C语言之文件包含
  • 原文地址:https://www.cnblogs.com/ikuman/p/4172562.html
Copyright © 2020-2023  润新知