import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
public class ExampleFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// 初始化过滤器,可以在启动时执行一些初始化操作
System.out.println("ExampleFilter initialized.");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 在请求到达目标资源之前执行的代码
System.out.println("Before processing the request.");
// 将请求传递给下一个过滤器或目标资源
chain.doFilter(request, response);
// 在响应返回客户端之前执行的代码
System.out.println("After processing the request.");
}
@Override
public void destroy() {
// 销毁过滤器,可以在关闭时执行一些清理操作
System.out.println("ExampleFilter destroyed.");
}
}
init
方法:在过滤器被加载时调用,通常用于初始化资源。这里简单打印了一条消息表示过滤器已初始化。
doFilter
方法:这是过滤器的核心方法,在每次请求和响应经过过滤器链时都会调用。它可以在请求到达目标资源之前执行一些操作(如日志记录、权限检查等),然后通过 chain.doFilter(request, response)
将请求传递给下一个过滤器或目标资源,最后还可以在响应返回客户端之前执行一些操作。
destroy
方法:在过滤器被销毁时调用,通常用于释放资源。这里简单打印了一条消息表示过滤器已被销毁。
这个示例展示了如何创建一个简单的 javax.servlet.Filter
实现类,并解释了各个方法的作用。
上一篇:java中map
下一篇:java找出list中重复数据
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站