1. 程式人生 > 其它 >springboot+過濾器

springboot+過濾器

技術標籤:springboot過濾器filterjavaspring boot

過濾器

//@WebFilter這個註解是Servlet3.0的規範,並不是Spring boot提供的。
//所以除了這個註解以外,我們還需在配置類中加另外一個註解:@ServletComponetScan,指定掃描的包。
//filter中/*是全部攔截  inteceptor中/**是全部攔截
@WebFilter(filterName = "RequestUrlFilter",urlPatterns = "/*")    
public class RequestUrlFilter
implements Filter { /** * filter物件只會建立一次,init方法也只會執行一次,在專案啟動的時候進行初始化。 */ @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("RequestUrlFilter init..."); } @Override public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) servletRequest; String requestURI = req.getRequestURI(); System.out.println("------->請求地址:"+requestURI); if(requestURI.
contains("demo")){ HttpServletResponse response = (HttpServletResponse) servletResponse; response.sendRedirect("http://www.baidu.com"); }else{ filterChain.doFilter(servletRequest,servletResponse); } } @Override public void destroy() { System.out.println("RequestUrlFilter destory..."); } }

主配置類

@SpringBootApplication()
@ServletComponentScan("com.jarvis.msgserver.filter")  //掃描過濾器
public class MsgServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(LanjieqiApplication.class, args);
    }
}