Filter和Listener一图流附文字

在这里插入图片描述

文字:

1.Filter:过滤器
	1.概念:
		生活中的过滤器:净水器,空气净化器,土匪
		web中的过滤器:请求访问服务器的资源时,过滤器可以将其拦截下来,完成一些特殊的功能
		过滤器的作用:
			一般用于完成通用的操作:登录验证,同一编码处理,敏感字符过滤
	2.快速入门:
		1.步骤:
			1.定义一个类,实现一个接口Filter
			2.复写方法
			3.配置
	3.过滤器细节:
		1.web.xml配置
		    <filter>
		        <filter-name>demo1</filter-name>
		        <filter-class>filter.FilterDemo1</filter-class>
		    </filter>
		    <filter-mapping>
		        <filter-name>demo1</filter-name>
			//拦截路径
		        <url-pattern>/*</url-pattern>
		    </filter-mapping>
		2.过滤器执行流程
			//对request对象请求消息增强        
		        chain.doFilter(request, response);    //放行
		        //对response对象的响应消息增强
		3.过滤器生命周期方法
			1.init(服务器启动后调用1次,用于加载资源)
			2.doFilter(每一次请求被拦截资源时执行,可执行多次)
			3.destroy(服务器正常关闭后调用1次,用于释放资源)
		4.过滤器配置详解
			1.拦截路径配置:
				1.具体资源路径:/index.jsp 只有访问index.jap资源时,过滤器才被执行
				2.目录拦截:/user/* 访问/user下的所有资源时,过滤器都会被执行
				3.后缀名拦截:*.jsp 访问所有后缀名为jsp资源时,过滤器才会被执行
				4.拦截所有资源:/* 访问所有资源时都执行过滤器
			2.拦截方式配置:资源被访问的方式
				1.注解配置:
					设置dispatcherTypes属性
						1.REQUEST:默认值。浏览器直接请求资源
						2.FORWARD:转发访问资源
						3.INCLUDE:包含访问资源
						4.ERROR:错误跳转资源
						5.ASYNC:异步访问资源
				2.xml配置:
					设置<dispatcher></dispatcher>标签即可
		5.过滤器链(配置多个过滤器)
			执行顺序:如果有过滤器1和2
				1.过滤器1
				2.过滤器2
				3.资源执行
				4.过滤器2
				5.过滤器1
			过滤器先后顺序问题:
				1.注解配置:按照类名的字符串比较规则比较,值小的先执行
					如:AFilter和BFilter,AFilter先执行
				2.web.xml配置:
					先定义的<filter-mapping>先执行
	4.案例:
		1.登录验证
		2.过滤敏感词汇
			分析:
				1.对request对象进行增强,增强获取参数相关方法
				2.放行,传递代理对象
	5.增强对象的功能:
		设计模式:一些通用的解决问题的固定模式
			1.装饰模式
			2.代理模式:
2.Listener:监听器
	概念:web三大组件之一Servlet,Filter,Listener
		事件监听机制:
			事件:一件事情
			事件源:事件发生的地方
			监听器:一个对象
			注册监听:将事件、事件源、监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码
	ServletContextListener:监听ServletContext对象的创建和销毁
		方法:
		void contextDestroyed(ServletContextEvent sce) //销毁前调用
		void contextInitialized(ServletContextEvent sce) //创建后调用
		步骤:
			1.定义一个类,实现ServletContextListener接口
			2.复写方法
			3.配置
				1.web.xml
				2.注解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值