フィルターフィルターは、次のショーのためのマップ、フィルタの要求と応答サーブレットに使用されています
レッツ・書き込みサーブレットと非常に似て、実際には最初のフィルター、フィルター、フィルターもインターフェース、フィルタの時間を書くことにするだけでなく、doFilterメソッドのオーバーライドの内部、および切片へのFilterインタフェースを実装することで、設定ファイルや注釈を通じて、ファイルはおよそここに注記を書き込むことができる、Filterメソッドを書き換える際には、合格良い例であることをレリーズ操作要求と応答が必要です。
まず、実装はFilterインタフェース、ここで最初のXML設定ファイルを実装している、フィルターのjavax.servletパッケージであるというクラスを書きます
package com.zhiying.filter;
import javax.servlet.*;
import java.io.IOException;
public class FilterDemo1 implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("Hello Filter");
//放行
chain.doFilter(request,response);
}
}
その後、我々は単にテストのためのindex.jspファイルを変更します
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
index.jsp...
</body>
</html>
最後のステップは、web.xmlです
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<filter>
<filter-name>demo1</filter-name>
<filter-class>com.zhiying.filter.FilterDemo1</filter-class>
</filter>
<filter-mapping>
<filter-name>demo1</filter-name>
<!-- 这里的意思是执行所有的方法都会通过该过滤器,也就是拦截路径-->
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
図から分かるように、私たちは、index.jspを訪問した際、フィルターフィルターを実行するこんにちはフィルタの出力、
我々はノートを使用する場合は、よりシンプルになり、ちょうど@WebFilter()
package com.zhiying.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter("/*") //这里的意思是执行所有的方法都会通过该过滤器,也就是拦截路径
public class FilterDemo1 implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("Hello Filter");
//放行
chain.doFilter(request,response);
}
}
web.xmlファイルのコメントを取得するには、設定されていない、上記の結果を得ることができます。