1. 程式人生 > 其它 >JavaWeb19.1【Filter&Listener:過濾器Filter的概念和快速入門】

JavaWeb19.1【Filter&Listener:過濾器Filter的概念和快速入門】

 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>  &lt;!&ndash;攔截路徑&ndash;&gt;
15     </filter-mapping>-->
16 
17 
18 </web-app>