过滤器就是在浏览器产生的请求和后台服务器之间启到一个过滤请求的作用。请求要先经过过滤齐全才能够被服务器知晓响应,这样就能在服务器之前判断请求是否合理,能够减少服务器的工作量,加快响应时间,提升用户体验。
我们通过一个实例来了解过滤器的具体工作流程。
首先,我们先建立一个项目,名称为TestWeb。在项目中新建一个新的过滤器TestFilter,一个index.jsp文件,一个hello.html文件。
过滤器在其中只保留最简单的三个方法。dofilter,destory.和init
import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class TestFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
System.out.println("***************");
chain.doFilter(request, response);
System.out.println("++++++++++++++");
}
public void destroy() {
}
public void init(FilterConfig filterConfig) {
}
}
并且在index.jsp中加入javaj脚本
<%
System.out.println("----------");
%>
当运行后,结果栏中会显示
***************
-------------
++++++++++++++
这就是过滤器会产生的结果。
也就是说,************部分的内容就是过滤的内容,也就是你要让过滤器实现什么功能的代码。
---------部分就是网页中产生的结果。
而+++++++++++部分的内容就是过滤成功后放行之后的操作。
接下来,我们修改过滤器的xml
那么,现在过滤器就被修改为了只过滤html文件,那么现在,当运行jsp时,输出结果为
-------------
很显然,没有经过过滤器。
而运行。html文件时,输出结果为
***************
++++++++++++++
从结果上可知,此时,过滤器已经只对html文件器作用了。
那么,这样就可以通过过滤器,实现对请求的过滤啦。
本文介绍如何在NetBeans中实现Java过滤器,通过一个实例详细讲解过滤器的工作流程,包括创建项目、定义过滤器类以及配置XML,展示过滤器如何筛选HTTP请求,增强服务器性能。
974

被折叠的 条评论
为什么被折叠?



