ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

编码设置过滤的注意点 2021-04-27

2021-04-27 21:59:16  阅读:211  来源: 互联网

标签:27 04 encoding doFilter 2021 servletResponse 过滤器 servletRequest public


特别要注意 / 和/*的区别


首先用Spring里面自带的编码过滤器(CharacterEncodingFilter)吧,也可以自己写过滤器,反正就是把所有的乱码都设置成UTF-8

  <!--SpringMvc解决乱码配置-->
    <filter>
        <filter-name>encoding</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>
    </filter>
    <filter-mapping>
        <filter-name>encoding</filter-name>
        <!--过滤所有的请求     / :不包括jsp的页面,而且=展示的页面正好在jsp页面中,filter相当于根本没派上用场 要写/*   -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>

当然也是可以自己写过滤器啦,在web.xml中自己配置好文件的位置.

 <!--过滤器解决乱码 一般固定写进xml文件-->
    <filter>
        <filter-name>encoding</filter-name>
        <filter-class>cn.com.zzn.filter.EncodingFilter</filter-class>
    </filter>
     <filter-mapping>
        <filter-name>encoding</filter-name>
        <!--过滤所有的请求     / :不包括jsp的页面,而且=展示的页面正好在jsp页面中,filter相当于根本没派上用场 要写/*   -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>

写过滤器文件和实现类
重点注意这句话: filterChain.doFilter(servletRequest,servletResponse);
Filter若不写chain.doFilter(request,response)原Servlet路径代码不会被执行

package cn.com.zzn.filter;


import javax.servlet.*;
import java.io.IOException;

public class EncodingFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        servletRequest.setCharacterEncoding("utf-8");
        servletResponse.setCharacterEncoding("utf-8");

        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {

    }
}

标签:27,04,encoding,doFilter,2021,servletResponse,过滤器,servletRequest,public
来源: https://blog.csdn.net/weixin_49092494/article/details/116210736

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有