使用Listener类

当java  web应用程序在web容器中运行时,在java web应用程序内部会不断发生各种事件,例如web应用的启动,暂停,销毁等。以及web应用中session开始和结束

这些web应用对开发者来说通常是看不见的。其实在servletapi中。提供了大量的监听器来监听web应用事件,其中Listener类是最为常用的。此类允许当web内部事件发生时回掉事件

监听器的方法。

2.Listener基础。

在java  web应用程序中使用listener时,需要先定义Listener实现类,然后通过Annoation或在web.xml文件中进行配置Listener

与AWT事件编程是完全相同的。如下是web事件监听器的接口。

1)ServletContextListener监听web应用的启动和关闭

2)ServletContextAttributeListener监听ServletContext范围内属性的改变

3)ServletRequestListener监听用户的请求

4)ServletRequestAttributeListener监听ServletRequest范围内(request)内属性的变化

5)HttpSessionListener监听用户session的开始和结束

6)HttpSessionAttributeListener监听HttpSession范围内session内属性的改变。

Filter过滤器,如果有一个页面配置了多个Filter,其执行顺序为,在web.xml中配置的顺序,首先执行完成的过滤器是,最后配置的那个过滤器。

实例一、创建一个ServletContex的监听器。

ServletContextListener是最常用的Listener,可以在当前web应用被加载

时对web应用的相关资源进行初始化操作:创建数据库连接池,创建spring的ioc容器,读取当前web应用的初始化参数

步骤如下:

1.创建一个类HelloServletContextListener实现ServletContextListener接口

晚上两个接口中所包含的两个方法。

2.配置该监听器。

一,上下文监听(ServletContext对象监听器)

1.上下文创建销毁监听:*(在服务器启动时,即Servlet容器(Tomcat)会执行创建的方法,也就是在服务器启动时application对象被创建)

(服务器关闭时,Servlet容器(Tomcat)会执行销毁的方法,application对象被销毁)

用途:如:可以在服务器启动时加载想要首先被加载的内容

2.上下文容器监听(当向application中存放,添加,删除东西时,会分别触发监听器里面的三个方法)

配置监听器:(后面两个配置与这个相同)

二,会话监听(HttpSession对象监听器)

1.会话创建销毁监听:*(在浏览器启动时会创建会话(session容器被创建))(在浏览器启动时会销毁会话(session容器被销毁))

.2.会话容器监听

3会话绑定监听

三,请求监听(ServletRequest对象监听器)

1.请求创建销毁监听:**(当第二次访问某个request容器里面的东西时,因为容器已经被销毁,所以访问不存在)

.2.请求容器监听

java启动监听器报错_初识 Java-监听器相关推荐

  1. java.io.file 报错_关于java.io.FileNotFoundException异常问题?

    本帖最后由 郝强勇 于 2013-3-14 16:18 编辑 下面的代码是客户端在访问servlet时,在servlet中调用数据库操作层UserDao对象中的update方法,haha.proper ...

  2. 启动azkaban报错_解决启动Azkaban报错问题:java.lang.NoSuchMethodError: com.google.comm

    问题描述: 启动Azkaban报错: java.lang.NoSuchMethodError:com.google.common.collect.ImmutableMap.toImmutableMap ...

  3. java启动项目报错,org.apache.catalina.lifecycleException..............以及解决方案

    解决方法 像类似的启动项目报错,一般情况都在web.xml里面: 此时,注意 java.lang.IllegalArgumentException: Invalid<url-pattern> ...

  4. ssm启动不报错_解决idea导入ssm项目启动tomcat报错404的问题

    用idea写ssm项目,基于之前一直在用spring boot 对于idea如何运行ssm花费了一番功夫 启动tom act一直在报404 我搜了网上各种解决办法都不行,花费一天多的时间解决不了 就是 ...

  5. 禅道启动mysql报错_测试工具之在Linux服务器上部署禅道Bug管理系统

    Linux本次使用到的命令行记录 链接服务器的命令 ssh [root@www.leimingtech.net](mailto:root@www.leimingtech.net) -p 22233 - ...

  6. 启动Charls报错“The bundled Java installation is broken. Please uninstall and reinstall Charles.”

    官网 https://www.charlesproxy.com/download/ 下载windows 64 bit. 下载后的文件:charles-proxy-4.6.1-win64.msi 安装后 ...

  7. eclipse启动mysql报错_Eclipse+mysql+java Eclipse中运行没有问题,但打包后运行不了,也不报错,求高手指点...

    这几天用Eclipse+mysql+java编写了一个班级信息管理的软件.在Eclipse里运行没有问题所有功能都没有问题,但无论用Eclipse中自带的export生成可执行的jar包,还是用fat ...

  8. distinct返回null报错_在Java中如何避免“!=null”式的判空语句?

    问题描述: 我整天都是在跟Java打交道.我在Java开发中最常用的一段代码就是用object != null在使用对象之前判断是否为空.这么做是为了避免NullPointerException.但是 ...

  9. java通讯链路异常报错_【Java】有了链路日志增强,排查Bug小意思啦!

    在工作中,相信大家最怕的一件事就是听到有人在工作群艾特你:某某功能报错啦... 然后你就得屁颠屁颠的去服务器看日志,日志量少还好点,多的话找起来太麻烦了.不太容易直接定位到关键地方. 东找找西找找,好 ...

最新文章

  1. C++ Queues(队列)
  2. python中swap的意思_Python为什么不需要swap(a,b)
  3. SQL ORDER BY 子句
  4. 设计灵感|如何让你的海报更吸睛?
  5. 科普:为什么 String hashCode 方法选择数字31作为乘子
  6. C 语言的数据类型宽度扩展
  7. win11如何创建访客账户 windows11创建访客账户的设置方法
  8. es like模糊匹配_Elastic search模糊匹配,精确匹配显示在前
  9. 军用设备环境试验方法湿热试验标准
  10. 在html中图文结合的怎么写,字形合一,网页设计中的图文配
  11. Nginx-免费SSL证书申请
  12. 网络带宽 (网速) 在线测试
  13. ASML公司Q3季度营收27.9亿欧元
  14. 用LaTex写伪代码(使用algorithm2e包)
  15. 静夜思 | 你的眼界,决定了你发现美好的能力
  16. 深圳小汽车车牌竞拍价格预测
  17. H264系列(5):关于ITU-H264 和 ISO/IEC H264 的关系
  18. Unity 云雾shader
  19. char类型的取值范围
  20. 给初入测试/开发程序员的几点建议,把困难当做猎物......

热门文章

  1. git-bash.exe和git-cmd.exe运行Git的区别
  2. java基于SpringBoot+vue 的简历模板分享系统 elementui前后端分离
  3. RedHat FC5安装xmms
  4. Magic Leap开发指南(5)-- Hand Tracking
  5. 影院服务器linux系统怎么安装,私人家庭影院之路 - 篇一:服务器安装Rutorrent(PT盒子)Seedbox教程...
  6. 你手里期权值多少钱?写给上市公司的同学
  7. pnpm不更新package.json的问题
  8. 计算机网络 华东理工大学 第3章测试
  9. CAD画家具学习笔记
  10. 【Pytorch-从一团乱麻到入门】:4、模型效果评估指标:ROC-AUC、PR-AUC及可能遇到的问题(1)