精选文章 Filter--过滤器:创建一个过滤器,对所有的请 求进行过滤,并在控制台上打印被 请求的 URI。

Filter--过滤器:创建一个过滤器,对所有的请 求进行过滤,并在控制台上打印被 请求的 URI。

作者:行秋 时间: 2019-11-04 05:04:25
行秋 2019-11-04 05:04:25

1.创建过滤器

点击菜单 “File”->“New”->“Class" 打开类创建向导对话框如图1。点击对话框中的 “Add” 按钮添加要实现的接口,弹出如图2对话框。在 “Choose Interfaces" 文本库中输入 “Filter” 进行筛选,在筛选结果列表中选择 “Filter--javax.servlet” ,然后点击OK”按钮添加Filter接口道图6的 “Interfaces” 列表中,并在“Name”中输入类名 “FilterDemo” ,最后点击 “Finish” 按钮创建FilterDemo类。

Filter--过滤器:创建一个过滤器,对所有的请 求进行过滤,并在控制台上打印被 请求的 URI。1

                                                                                       图 1 类创建向导

Filter--过滤器:创建一个过滤器,对所有的请 求进行过滤,并在控制台上打印被 请求的 URI。2

                                                                                图 2 添加实现接口对话框

2.配置过滤器

打开web.xml,在标签之前添加如下内容:

   
   
  	filterDemo 
  	cn.FilterDemo 
   
   
   
  	filterDemo 
  	/*
  

   3.编写代码

在FilterDemo.java中编写以下代码。

package cn;
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;
import javax.servlet.http.HttpServletRequest;

public class FilterDemo implements Filter { 
	@Override 
	public void destroy() {} 
	
	@Override 
	
	public void doFilter(ServletRequest arg0, ServletResponse arg1, 
			FilterChain arg2) throws IOException, ServletException { 
		HttpServletRequest req = (HttpServletRequest)arg0; 
		String uri = req.getRequestURI(); 
		System.out.println("URI===" + uri);//在控制台上输出 
		arg2.doFilter(arg0, arg1); 
		}
	@Override 
	public void init(FilterConfig arg0) throws ServletException {} 
	
}

4.测试演示

右击项目->"Run as"->"MyEclipse Server Application"选择你的服务器,在浏览器中访问任何一个资源,然后在控制台查看输出。

Filter--过滤器:创建一个过滤器,对所有的请 求进行过滤,并在控制台上打印被 请求的 URI。3

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:9.盒模型使用技巧及相关问题

下一篇:redis从入门到精通-1

您可能感兴趣

  • 2020前端面试专题整理

    全是从网上整理的(狗头保命) vue3.0 与vue2.0的区别:https://juejin.im/post/6844904128628391944 目录结构发生变化: 移除了配置文件目录(config与build文件夹),但是多了env.production与env.development,除了文件位置,实际配置和2.0没有什么不同,没有config文件,跨域配置转移到vue.confi...

  • Pygame详解(四):event 模块(有USEREVENT事件)

    pygame.event 用于处理事件与事件队列的 Pygame 模块。 函数 pygame.event.pump() — 让 Pygame 内部自动处理事件 pygame.event.get() — 从队列中获取事件 pygame.event.poll() — 从队列中获取一个事件 pygame.event.wait() — 等待并从队列中获取一个事件 pygame.event.peek(...

  • 计算机必备专用英语词汇

    非常好的单词整理,转载一下当作笔记 1.单词说明:   command n. 命令,指令 [kə'mɑ:nd]   单词拼写 名词 单词含义 音标(发音)   提示:着重记忆单词对应的意思,有能力最好词性也记忆。 2.词性说明: n v vi vt conj prep pron adj adv 名词 动词 非及物动词 及物动词 连词 介词 代词 形容词 副词 3.单词列表: 1.file,n...

  • 转载:PCB设计大神的105个经验总结

    http://murata.eetrend.com/node/1001487 在电子产品设计中,PCB布局布线是最重要的一步,PCB布局布线的好坏将直接影响电路的性能。现在,虽然有很多软件可以实现PCB自动布局布线,但是随着信号频率不断提升,很多时候,工程师需要了解有关PCB布局布线的最基本的原则和技巧,这样才可以让自己的设计完美无缺,《PCB(印制电路板)布局布线100问》涵盖了PCB布局...

  • 单日课程超10万节!VIPKID 如何通过实时计算提升上课体验?

    行业解决方案、产品招募中!想赚钱就来传!>>> 摘要:对于以互联网形式的在线教育来说,实时计算应用的场景非常之多,如何通过数据计算来更快、更高效地反馈学习效果保证课程质量是在线教育领域不断探索的主题。本文将从以下四个部分分享,与大家探讨在直播上课过程中如何通过实时计算来提高人效以及系统处理能力。 VIPKID 介绍 核心业务场景 技术实现 总结 Tips: 查看更多最佳实践文章可点击文末链接...

  • 图解一致性哈希算法,全网(小区局域网)最通俗易懂

    好久不见小伙伴们,最近都快忙晕了,后端技术学堂差点停课,不过还是抽时间写了这篇文章带大家一起学习一致性哈希算法。 很多同学应该都知道什么是哈希函数,在后端面试和开发中会遇到「一致性哈希」,那么什么是一致性哈希呢?名字听起来很厉害的样子,其实原理并不复杂,这篇文章带你彻底搞懂一致性哈希! 进入主题前,先来一场紧张刺激的模拟面试吧。 模拟面试 面试官:看你简历上写参与了一个大型项目,用到了分布式...

  • 并行循环和嵌套循环_并行嵌套循环连接–嵌套循环连接和残留谓词的内侧

    并行循环和嵌套循环 This article is the second part of the Nested Loop Join Series. In the first part, Introduction of Nested Loop Join, we gave a brief introduction to Native, Indexed and Temporary Index Ne...

  • SQL Server Management Studio 17.4中的新增功能; Always On AG仪表板增强功能及更多

    As all other database engines that require a GUI too to interact with, Microsoft built SQL Server Management Studio as a tool that provides an environment to manage, configure, monitor and administ...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。