zoukankan      html  css  js  c++  java
  • Spring字符集过滤器CharacterEncodingFilter

    参考:http://blog.csdn.net/gdufzxp/article/details/10077665

    spring中的字符集过滤器可以很方便的为我们解决项目中出现的中文乱码问题,而且使用方法也很简单,只需要在web.xml文件中配置一下该过滤器,设置两个重要的参数(encodingforceEncoding)即可:

        <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码-->  
            <filter>  
               <filter-name>springUtf8Encoding</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>  
            <filter-mapping>  
               <filter-name>springUtf8Encoding</filter-name>  
               <url-pattern>/*</url-pattern>  
           </filter-mapping>  
    

      

    通过参考文档,我们可以知道:

    第一个方法setEncoding()相当于:ServletRequest.setCharacterEncoding(java.lang.String)

    2. 第二个方法setForceEncoding()的作用是:

    强制ServletResponse的编码格式和ServletRequest的编码格式一样。

            也就是说,无论是request还是responseencoding设置了两者的编码格式,只不过forceEncoding默认值为false,此时就只是设置了request的编码格式,即在Servlet中:

            request.setCharacterEncoding("XXXX"); 

           如果设置forceEncoding的值为true时,相当于Servlet中:

           request.setCharacterEncoding("XXXX");

           response.setCharacterEncoding(“XXXX”);  

          现在我们回过头来看看最初给大家看的web.xml中那部分过滤器的配置,相信大家都明白了,配置的作用相当于Servlet中的:

    @RequestMapping(value="XXXXX")  
    public void XXXXX(User user,HttpServletRequest  req,HttpServletResponse         resp) throws UnsupportedEncodingException  
    {  
           //对服务器响应进行重新编码
           resp.setCharacterEncoding("UTF-8");  
          //对请求进行重新编码
           req.setCharacterEncoding("UTF-8");  
    ......  
    } 
    

      

  • 相关阅读:
    测试
    微商就该这么加粉丝,你造吗?
    下拉刷新ListView实现原理
    android studio出现 waiting for adb
    发现一个很好的android开发笔记库
    android studio 不能在线更新android SDK Manager问题解决办法
    asp.net中XmlDocument解析出现出错,处理特殊字符
    假如是你,你会怎么选择
    winrt 上的翻书特效组件 源码分享 转载请说明
    在Windows8 Winrt中 高性能处理多个条件语句 用于实现自定义手势
  • 原文地址:https://www.cnblogs.com/superxudan/p/6634697.html
Copyright © 2011-2022 走看看