Java 系列之Filter(一)
阿新 • • 發佈:2018-02-25
_id java ted img 3.2 認證 nts index.jsp enc
一、過濾器
過濾器就是在源數據和目的數據之間起過濾作用的中間組件。它可以截取客戶端和資源之間的請求和響應信息,並且對這些信息進行過濾。
二、應用場景
1、對用戶請求進行統一認證
2、對用戶的訪問請求進行記錄和審核
3、對用戶發送的數據進行過濾或者替換
4、轉換圖像格式
5、對響應內容進行壓縮,減少傳輸量
6、對請求和響應進行加密處理
7、觸發資源訪問事件
8、對xml的輸出應用xslt
三、簡單實現
3.1、定義一個過濾器
package test02; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class myfilter implements Filter { //銷毀調用 @Override public void destroy() { // TODO Auto-generated method stub } //過濾 @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub System.out.println("dofilter"); } //初始化 @Override public void init(FilterConfig config) throws ServletException { // TODO Auto-generated method stub System.out.println("init"); } }
3.2、配置xml
監聽器>過濾器>servlet,所以監聽要在過濾器前配置,過濾器在servlet前配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>test02</display-name> <filter> <!-- 過濾器名稱 --> <filter-name>myfilter</filter-name> <!-- 類 --> <filter-class>test02.myfilter</filter-class> <init-param> <!-- 可以傳遞的參數 --> <param-name>name</param-name> <param-value>dirk</param-value> </init-param> </filter> <filter-mapping> <filter-name>myfilter</filter-name> <!--對所有請求都過濾 --> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>aservlet</servlet-name> <servlet-class>test02.aservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>aservlet</servlet-name> <url-pattern>/servlet/aservlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
四、Look
Java 系列之Filter(一)