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起作用
  • 相关阅读:
    Task.Delay() 和 Thread.Sleep() 区别
    task 如何终止线程
    旧版委托线程回忆
    c# 线程的优先级
    Java——Java泛型
    Java——Java面向对象
    Java——Java连接Jira,创建、修改、删除工单信息
    软件——Jira是什么
    Java——一文读懂Spring MVC执行流程
    Java——SSM整合所需的Maven配置文件
  • 原文地址:https://www.cnblogs.com/zxf330301/p/9287528.html
Copyright © 2011-2022 走看看