2022.1.6

Servlet高级

文章目录

Servlet高级
学习目标
Filter过滤器
一、Filter是什么?
1.1.实现第一个Filter程序
二、Filter映射
2.1拦截不同方式的访问请求
2.2 Filter链
三、FilterConfig接口
3.3创建Servlet
3.4创建过滤器
3.5配置映射信息
3.6运行项目,查看结果
四、Listener监听器
学习目标

了解什么是Filter
能够使用Filter实现用户自动登录
能够使用Filter实现统一全站编码
熟悉8种监听器
掌握使用监听器监听域对象的生命周期和属性变更

Filter过滤器

一、Filter是什么?

Fliter被称作过滤器,其基本功能就是对Servlet 容器调用ServletServlet进行响应处理前后实现-些特殊功能。这就好比现实中的污水净化设备.

1.1.实现第一个Filter程序

(1) 首先在Elise中创建一个名为chapter08的Web 项目,然后在该项目的 src目录下创建一个名为cn.itcast.chapter08.fiter 包,最后在该包下创建一个名为MyServlet的Servlet类,该类用于访问时在浏览器中输出"Hello MyServlet"。在这里插入图片描述
二、Filter映射

2.1拦截不同方式的访问请求

在web.xml文件中,一(个Filter-mapping>元素用于配置一个Fin ler 所负责拦数的资源。元素中有一个特殊的子元素<dispatcher,该元素用于指定过滤器所拦数的资源被Servlet容器调用的方式,<dispatcher 元素的值共有4个,具体如下。
1 ) REQUEST
当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问的,那么该过滤器将不会被调用。
2 ) INCLUDE
如果目标资源是通过RequestDispatcher的include()方法访问的,那么该过滤器将被调用。除此之外,该过滤器不会被调用。
3 ) FORWARD
如果目标资源是通过RequsDispatcler的foward)方法访问的,那么该过滤器将被调用。除此之外,该过滤器不会被调用。
4) ERROR !
如果目标资源是通过声明式异常处理机制调用的,那么该过滤器将被调用。除此之外,过滤器不会被调用。
为了更好地理解上述4个值的作用,接下来以FORWARD为例,分步骤演示Filter对转发请求的拦截效果,具体如下。
( 1 )在chapter08项目的cn.itcast.chapter08.filter包中,创建- 个名为ForwardServlet的Servlet类,该类用于将请求转发给first.jsp页面,如

在这里插入图片描述2.2 Filter链

( 1 )在chapter08 项目的cn.itcast.chapter08.filter 包中新建两个过滤器MyFilter01 和MyFilter02在这里插入图片描述(2)为了防止其他过滤器影响此次Fller 链的演示效果,请先在web xml文件中注释掉其他过滤器的配置信息。然后,将MyFilter01和MyFilter02过滤器的映射信息配置在MyServlet配置信息前面在这里插入图片描述三、FilterConfig接口

为了获取Filter程序在web.xml文件中的配置信息,Servlet API提供了一个FilterConfig接口,该接口封装了Filter程序在web.xml中的所有注册信息,并且提供了一系列获取这些配置信息的方法 。

( 1 )在chapter08项目的cn.itcast.chapter08.flter 包中创建过滤器MyFiter03,使用该过滤器来获取web.xml中设置的参数在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Burp Suite 2022.6.1是Burp Suite的一个版本,它是一个用于Web应用程序渗透测试的工具。根据引用,您可以通过关注VX公众号401SecNote并回复"burp"来获取Burp Suite Professional v2022.6.1及其运行环境。此外,根据引用,您还可以通过百度网盘链接https://sysin.org/blog/burp-suite-pro-2022-6/下载Burp Suite Professional / Community 2022.6版本。如果您正在考虑安装高版本的Burp Suite,但担心与其他软件的兼容性问题,根据引用,您可以使用高版本的jdk来解决兼容性问题,并记录解决过程以备将来参考。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Burp Suite Professional 2022.6 (macOS, Linux, Windows) - Web 应用安全、测试和扫描](https://blog.csdn.net/netgc/article/details/125592616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [笔记 | 在JAVA1.8环境下安装高版本Burp Suite Pro](https://blog.csdn.net/dust_hk/article/details/126489797)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值