FilterChain鎬庝箞浣跨敤
FilterChain 鏄竴涓繃婊ゅ櫒閾撅紝鐢ㄤ簬渚濇鎵ц涓€绯诲垪杩囨护鍣ㄣ€?/p>
瑕佷娇鐢?FilterChain锛岄鍏堥渶瑕佸垱寤轰竴涓?FilterChain 瀵硅薄锛屽苟灏嗛渶瑕佹墽琛岀殑杩囨护鍣ㄦ坊鍔犲埌閾句腑銆傜劧鍚庯紝鍦ㄦ墽琛岃繃婊ゅ櫒閾炬椂锛岃皟鐢?FilterChain 鐨?doFilter()
鏂规硶锛屼紶鍏ヨ姹傚拰鍝嶅簲瀵硅薄銆?/p>
涓嬮潰鏄竴涓娇鐢?FilterChain 鐨勭畝鍗曠ず渚嬶細
public class MyFilter implements Filter {
@Override
public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 杩涜杩囨护鎿嶄綔
// 璋冪敤涓嬩竴涓繃婊ゅ櫒
chain.doFilter(request, response);
}
}
public class MyServlet implements Servlet {
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// 鍒涘缓杩囨护鍣ㄩ摼
FilterChain chain = new FilterChain();
// 娣诲姞杩囨护鍣ㄥ埌閾句腑
chain.addFilter(new MyFilter());
// 鎵ц杩囨护鍣ㄩ摼
chain.doFilter(request, response);
}
}
鍦ㄤ笂闈㈢殑绀轰緥涓紝MyFilter
鏄竴涓嚜瀹氫箟鐨勮繃婊ゅ櫒锛屽疄鐜颁簡 Filter
鎺ュ彛銆?code>MyServlet 鏄竴涓?Servlet锛屽疄鐜颁簡 Servlet
鎺ュ彛銆傚湪 MyServlet
涓紝棣栧厛鍒涘缓浜嗕竴涓?FilterChain 瀵硅薄锛岀劧鍚庡皢 MyFilter 娣诲姞鍒?FilterChain 涓€傛渶鍚庯紝璋冪敤 FilterChain 鐨?doFilter()
鏂规硶鏉ユ墽琛岃繃婊ゅ櫒閾俱€?/p>
鍦ㄥ疄闄呬娇鐢ㄤ腑锛屽彲浠ユ牴鎹渶瑕佹坊鍔犲涓繃婊ゅ櫒鍒?FilterChain 涓紝瀹冧滑浼氭寜鐓ф坊鍔犵殑椤哄簭渚濇鎵ц銆?/p>