zoukankan      html  css  js  c++  java
  • servlet3.0 新特性和springboot Listener和filter案例

    1.filter

    package com.newtouch.zxf.filter;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;
    
    import org.springframework.core.annotation.Order;
    import org.springframework.stereotype.Component;
    
    
    @Order(1)
    @WebFilter(filterName="LoginFilter",urlPatterns="/*")
    @Component
    public class LoginFilter implements Filter {
    
    	@Override
    	public void init(FilterConfig filterConfig) throws ServletException {
    		System.out.println("init");
    		
    	}
    
    	@Override
    	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    			throws IOException, ServletException {
    	
    		System.out.println("TestFilter1");
    		chain.doFilter(request,response);
    	}
    
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		
    	}
    
    }
    

      

    1、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用

    2、@order确定多个filter的执行顺序 数字越小越先执行

    package com.newtouch.zxf.listener;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.annotation.WebListener;
    
    import org.springframework.stereotype.Component;
    
    @WebListener
    @Component
    public class MyListerner implements ServletContextListener {
    
    	@Override
    	public void contextInitialized(ServletContextEvent sce) {
    		System.out.print("--------------contextDestroyed");
    		
    	}
    
    	@Override
    	public void contextDestroyed(ServletContextEvent sce) {
    		System.out.print("--------------contextDestroyed");
    		
    	}
    
    }
    

      

    1.@WebListener 标记这个类是一个监听器
    2.@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用
  • 相关阅读:
    JavaScript 把函数作为参数进行传值
    面向微服务的企业云计算架构转型
    bzoj1009 GT考试 (kmp+矩阵优化dp)
    noiac64 sort (二分答案)
    luogu1983 车站分级 (拓扑排序)
    loj6157 A ^ BProblem (并查集)
    bzoj1831 逆序对 (dp+树状数组)
    luogu2282/bzoj1219 历史年份 (dp+hash+二分+线段树)
    bzoj3702/bzoj2212 二叉树 (线段树合并)
    cf1073G Yet Another LCP Problem (SA+权值线段树)
  • 原文地址:https://www.cnblogs.com/zxf330301/p/9287528.html
Copyright © 2011-2022 走看看