JavaWeb19.1【Filter&Listener:過濾器Filter的概念和快速入門】
阿新 • • 發佈:2021-07-05
1 package com.haifei.web.filter; 2 3 import javax.servlet.*; //注意Filter來自這個包下 4 import javax.servlet.annotation.WebFilter; 5 import java.io.IOException; 6 7 /** 8 * 過濾器快速入門 9 * 10 * 通過註解配置過濾器攔截路徑 11 * 或 12 * 通過web.xml配置過濾器攔截路徑 13 * 14 */ 15 //@WebFilter("/*") //配置攔截路徑;/*表示訪問本專案的所有資源之前都會執行該過濾器16 public class FilterDemo1 implements Filter { 17 @Override 18 public void init(FilterConfig filterConfig) throws ServletException { 19 20 } 21 22 @Override 23 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {24 System.out.println("filterdemo1...."); 25 26 //放行 27 filterChain.doFilter(servletRequest, servletResponse); 28 29 /* 30 未配置放行之前: 31 http://localhost:8080/day19/index.jsp 32 控制檯輸出filterdemo1.... 頁面無內容 33 */ 34 35 /* 36 未配置放行之後:37 http://localhost:8080/day19/index.jsp 38 控制檯輸出filterdemo1.... 頁面顯示index.jsp 39 */ 40 } 41 42 @Override 43 public void destroy() { 44 45 } 46 } 47 48 49 /* filter註解模式程式碼快速建立預設模板 50 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end 51 #parse("File Header.java") 52 @javax.servlet.annotation.WebFilter(filterName = "${Entity_Name}") 53 public class ${Class_Name} implements javax.servlet.Filter { 54 public void destroy() { 55 } 56 57 public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException { 58 chain.doFilter(req, resp); 59 } 60 61 public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException { 62 63 } 64 65 } 66 */ 67 68 /* 自定義修改模板 69 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end 70 #parse("File Header.java") 71 @javax.servlet.annotation.WebFilter("/*") 72 public class ${Class_Name} implements javax.servlet.Filter { 73 public void destroy() { 74 } 75 76 public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException { 77 chain.doFilter(req, resp); 78 } 79 80 public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException { 81 82 } 83 84 } 85 */
1 <%-- 2 Created by IntelliJ IDEA. 3 User: yubaby 4 Date: 2021/7/4 5 Time: 21:35 6 To change this template use File | Settings | File Templates. 7 --%> 8 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 <html> 10 <head> 11 <title>$Title$</title> 12 </head> 13 <body> 14 index.jsp 15 </body> 16 </html>
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 5 version="3.1"> 6 7 8 <!--<filter> 9 <filter-name>demo1</filter-name> 10 <filter-class>com.haifei.web.filter.FilterDemo1</filter-class> 11 </filter> 12 <filter-mapping> 13 <filter-name>demo1</filter-name> 14 <url-pattern>/*</url-pattern> <!–攔截路徑–> 15 </filter-mapping>--> 16 17 18 </web-app>