首页 > 编程知识 正文

java自定义过滤器,java过滤器获取所有参数值

时间:2023-05-05 15:09:23 阅读:41835 作者:669

一.什么是过滤器? 过滤器被翻译为过滤器。 由于servlet规范是开放的,在公开和开源社区的帮助下,servlet规范越来越科学,功能也越来越强大。 2000年,Sun在servlet 2.3规范中添加了过滤器功能,并在servlet 2.4中详细补充了过滤器。 二.运行原理:

当客户端向服务器端发送请求时,如果相应的过滤器正在监听,则过滤器可以修改请求的内容或重新设置请求协议的相关信息,然后将请求发送给服务器端servlet进行处理当servlet响应客户端时,也可以侦听过滤器,修改或重新设置响应,然后响应客户端浏览器。 在上述步骤中,客户端和服务器端不需要知道过滤器的存在。

在web APP应用程序中,可以部署多个筛选器以阻止。 这些过滤器构成了过滤器链。 过滤器链中的每个过滤器负责特定的操作和任务,客户端请求在这些过滤器之间传递到服务器端servlet。 具体步骤如下。

3 .实现实例:

例如,用户访问服务器管理员文件夹中的以下文件,并使用过滤器阻止

servlet API提供了实现过滤器所需的过滤器接口

首先,创建Filter的java类TestFilter.java,并使接口Filter继承它

TestFilter.java:

import java.io.IOException; 导入javax.servlet.filter; publicclasstestfilterimplementsfilter { @ overridepublicvoiddofilter (servletrequestarg 0,ServletResponse arg1,FilterChain arg2) servlet exception (//todo auto-generatedmethodstubhttpservletresponsehtteresp=(HTT ter if (false ) htteresp.send error ) ); 返回; }else{arg2.dofilter(arg0,arg1); //不感兴趣,无所事事地继续运行代码}}然后修改web.xml并添加以下节点:

过滤器过滤器- nameadminfilter/filter-name filter-classtestfilter/filter-class/filter filter-mapping filter-name arter 如果URL格式为/admin/*,则表示将过滤交给测试过滤器

将admin文件夹添加到项目中,并将admin.jsp放在其中。

% @ page language=' Java ' content type=' text/html; charset=utf-8 ' pageencoding=' utf-8 ' %! doctype html public '-//W3C//dtd html 4.01 transitional//en ' ' http://www.w3.org/tr/html4/loose.dtd ' html hetd 启动/body/html和tomcat访问admin.jsp

使用3http://localhost :8080/filter test/admin/admin.JSP。 其中filtertest是项目名称。

显示如下。

由于代码中if(false )的判断,过滤器无效

将if (假)更改为if (真),然后重新启动tomcat,将产生以下效果:

过滤器已启用。 返回了错误信息。 在没有管理员权限的情况下访问。

转载于:https://www.cnblogs.com/重要仙人掌7/p/10163490.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。