生活随笔
收集整理的這篇文章主要介紹了
Filter_细节_执行流程生命周期
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
過濾器執行流程
?? ?1. 執行過濾器
?? ?2. 執行放行后的資源
?? ?3. 回來執行過濾器放行代碼下邊的代碼
過濾器生命周期方法
?? ?1. init:在服務器啟動后,會創建Filter對象,然后調用init方法。只執行一次。用于加載資源
?? ?2. doFilter:每一次請求被攔截資源時,會執行。執行多次
?? ?3. destroy:在服務器關閉后,Filter對象被銷毀。如果服務器是正常關閉,則會執行destroy方法。只執
?
<%--Created by IntelliJ IDEA.User: leonDate: 2019/11/24Time: 11:30To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title></head><body>index.jsp....<%System.out.println("index.jsp....");%></body>
</html>
package com.learn.web.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;//@WebFilter("/*")
public class FilterDemo2 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {// 對request對象請求消息增強System.out.println("filterDemo2執行了....");// 放行filterChain.doFilter(servletRequest, servletResponse);// 對response對象的響應對象增強System.out.println("filterDemo2回來了....");}@Overridepublic void destroy() {}
}
package com.learn.web.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;@WebFilter("/*")
public class FilterDemo3 implements Filter {/*** 在服務器啟動后,會創建Filter對象,然后調用init方法。只執行一次。用于加載資源。* @param filterConfig* @throws ServletException*/@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("int....");}/*** 每一次請求被攔截攔截資源時,會執行。執行多次。* @param servletRequest* @param servletResponse* @param filterChain* @throws IOException* @throws ServletException*/@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {System.out.println("doFilter....");filterChain.doFilter(servletRequest, servletResponse);}/*** 在服務器關閉后,Filter對象被銷毀。如果服務器是正常關閉,則會執行destroy方法。用于釋放資源。*/@Overridepublic void destroy() {System.out.println("destroy....");}
}
?
總結
以上是生活随笔為你收集整理的Filter_细节_执行流程生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。