zoukankan      html  css  js  c++  java
  • 过滤器 filter

    配置文件信息
    <?
    xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>myfirst</filter-name> <filter-class>com.itheima.web.filter.HelloFilter</filter-class> </filter> <filter-mapping> <filter-name>myfirst</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <display-name>FilterDemo2</display-name> <filter-name>FilterDemo2</filter-name> <filter-class>com.itheima.web.filter.FilterDemo2</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>cgx</param-name> <param-value>aj</param-value> </init-param> </filter> <filter-mapping> <filter-name>FilterDemo2</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> </web-app>

    编写一个过滤器,实现过滤器接口 filter

    package com.itheima.web.filter;
    
    import java.io.IOException;
    import java.util.Enumeration;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class FilterDemo2 implements Filter {
    
        private FilterConfig config;
        public void destroy() {
            
        }
    
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
            System.out.println("FilterDemo2放行前的代码");
            
            
            //2.获取初始化参数    FilterConfig对象可以获取,   这个对象当容器调用 init(FilterConfig fConfig)时,会自动为FilterConfig赋值
            
            /** <init-param>
                  <param-name>encoding</param-name>
                  <param-value>UTF-8</param-value>
                </init-param>*/
            String encodingValue = config.getInitParameter("encoding");//用于获取初始化参数
            System.out.println(encodingValue);
            
            
            //2.1获取多个初始化参数  getInitParameterNames() 
            /**
             *  <init-param>
                  <param-name>encoding</param-name>
                  <param-value>UTF-8</param-value>
                </init-param>
                <init-param>
                  <param-name>cgx</param-name>
                  <param-value>aj</param-value>
                </init-param>
             * 
             */
            Enumeration<String> enumss = config.getInitParameterNames();//encoding ,cgx
            while(enumss.hasMoreElements()){
                String paramName = enumss.nextElement();//得到一个参数 <param-name>encoding</param-name>
                String paramValue = config.getInitParameter(paramName);//<param-value>UTF-8</param-value>
                System.out.println(paramName+":"+paramValue);
            }
            chain.doFilter(request, response);//放行
            System.out.println("FilterDemo2放行回来后的代码");
        }
    
        
        public void init(FilterConfig fConfig) throws ServletException {
            this.config = fConfig;
        }
    
    }

     过滤器的执行顺序和mapping在web.xml里的位置有关,放前面的先执行。

  • 相关阅读:
    idea设置全局ignore
    win 2012 安装mysql 5.7.20 及报错 This application requires Visual Studio 2013 Redistributable. Please ins
    win 2012 安装mysql 5.7.20 及报错 This application requires Visual Studio 2013 Redistr
    kafka 删除 topic
    java编译中出现了Exception in thread “main" java.lang.UnsupportedClassVersionError
    Centos中使用yum安装java时,没有jps的问题的解决
    Spring 整合Junit
    Spring纯注解配置
    Spring 基于注解的 IOC 配置
    打印java系统的信息
  • 原文地址:https://www.cnblogs.com/baijin05/p/5085454.html
Copyright © 2011-2022 走看看