首页 > 编程语言 > 详细

Spring CharacterEncodingFilter

时间:2014-12-18 20:22:32      阅读:285      评论:0      收藏:0      [点我收藏+]

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

Spring CharacterEncodingFilter

原文:http://www.cnblogs.com/ikuman/p/4172562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!