• JavaWeb——字符编码过滤器


    编写一个EncodingFilter

    1.读取web.xml文件中配置的当前WEB应用的初始化参数encoding

    2.指定请求的字符编码为1读取到的编码

    3.调用chain.doFilter()方法"放行"请求

       web.xml

        <context-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </context-param>
      <filter>
            <filter-name>EncodingFilter</filter-name>
            <filter-class>com.demo.filter.EncodingFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>EncodingFilter</filter-name>
            <url-pattern>/filter/b.jsp</url-pattern>
        </filter-mapping>
    

      

    EncodingFilter
    package com.demo.filter;
    
    import javax.servlet.FilterChain;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class EncodingFilter extends HttpFilter {
    
        private String encoding;
        @Override
        protected void init() {
            encoding = getFilterConfig().getServletContext().getInitParameter("encoding");
            System.out.println(encoding);
        }
    
        @Override
        public void doFilter(HttpServletResponse response, HttpServletRequest request, FilterChain filterChain) throws IOException, ServletException {
            request.setCharacterEncoding(encoding);
            filterChain.doFilter(request,response);
        }
    }
    

      

  • 相关阅读:
    Sqli-labs less 25a
    Sqli-labs less 26
    Sqli-labs less 26a
    Sqli-labs less 27
    Sqli-labs less 27a
    Sqli-labs less 28
    Sqli-labs less 28a
    Python3之sys模块
    Python3之os模块
    Python3之XML模块
  • 原文地址:https://www.cnblogs.com/yangHS/p/11196011.html
Copyright © 2020-2023  润新知