码迷,mamicode.com
首页 > 其他好文 > 详细

监听器

时间:2020-04-10 14:42:00      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:html   内置对象   图表   过期   java   http   指定   初始化   多次   

什么是监听器

监听器(Listener)是J2EE Servlet模块下的组件

Listener的作用对Web应用对象的行为进行监控

通过Listener监听自动触发指定的功能代码

1 三种监听对象

ServletContext – 对全局ServletContext及其属性进行监听

HttpSession – 对用户会话及其属性操作进行监听

ServletRequest – 对用户会话及其属性操作进行监听

2 过滤器和监听器的区别

过滤器(Filter)的职责是对URL进行过滤拦截,是主动的执行

监听器(Listener)的职责是对Web对象进行监听,是被动触发

3 开发监听器三要素

1)实现***Listener接口,不同接口对应不同监听的对象. 

2)实现每个接口中独有的方法,实现触发监听的后续操作

3)在web.xml中配置<listener>使监听器生效

 技术图片

 技术图片

配置web.xml

 技术图片

应用启动后,控制台输出

 技术图片

应用关闭或重启后,控制台输出

 技术图片

注解配置方式(不推荐):

技术图片

4 六种常用监听接口

1)内置对象监听接口

 技术图片

2)属性监听接口

 技术图片

使用案例:

1)内置监听接口

技术图片

Weblistener.java

技术图片

技术图片技术图片

 技术图片

技术图片

在web.xml中配置

技术图片

启动应用

技术图片

访问Servlet

技术图片

从同样的浏览器发来的多次请求,只有第一次会创建session

关闭浏览器,重新启动,会重新创建一个session

关闭浏览器窗口时,后台不会触发session销毁的后续操作,session会在关闭窗口30分钟以后自然过期或者由程序代码人为关闭

关闭浏览器窗口后,控制台显示:

技术图片

2)属性监听接口

技术图片

在web.xml中配置

技术图片

启动应用,访问HelloServlet,控制台打印如下

技术图片

5 监听器应用场景

请求流量分析

技术图片

后台定时监控并以图表显示请求量

技术图片

1)开发监听器

技术图片

在web.xml中配置

技术图片

2)开发统计查询Servlet

新建3个测试页面,test1、test2、test3

技术图片

创建servlet,用于展现当前的请求分析数据

技术图片

启动应用,访问某个测试页面

之后再访问servlet页面,可以看到页面上打印出的数据

技术图片

3)入门echarts插件

Step1下载echarts文件,并将echarts文件放到工程目录中

技术图片

Step2 创建html文件,引入echarts

技术图片

Step3 绘制图表容器

技术图片

Step4 初始化echarts实例

技术图片

启动应用访问该html页面,可以看到写好的echarts实例

技术图片

4)实现动态图表

利用jQuery和ajax来实现前后端的通讯工作.

Step1 将jQuery文件放到工程目录中,页面中引入该js文件

技术图片技术图片

Step2 调整servlet

使用fastjson来将数据转换为json对象

引入jar包

技术图片

在doGet中添加如下代码

技术图片

访问各个测试页面后,再访问servlet,可以看到结果作为json打印到页面中

技术图片

Step3修改页面使用ajax实现前后端通信

技术图片

将刚刚echarts实例化的整个代码放到success中,调整数据部分

增加动态变化代码,使用定时器实现,每秒自动刷新一次

技术图片

访问total页面

技术图片

此时,没有做任何事,数据还是以每秒一次的速度增长

我们每秒钟向服务器发送了一个rt请求,/rt的请求也是一个创建新请求的操作,也会被监听器拦截到

Step4 修改监听器代码 将rt路径排除在外

技术图片

静态数据预加载

页面中一些很长一段时间都不会变动的部分

1)创建监听器

技术图片

配置web.xml

技术图片

2)创建jsp页面模拟首页

技术图片

启动应用,访问jsp页面

技术图片

 

监听器

标签:html   内置对象   图表   过期   java   http   指定   初始化   多次   

原文地址:https://www.cnblogs.com/superjishere/p/12673351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!