当前位置: 首页 > news >正文

11.servlet里面的监听器

1.启动Web容器,容器会自动识别监听器,并在对应事件触发时调用处理方法。

  • 抽象主题

    ServletContextEventSource
    HttpSessionEventSource
    
  • 具体主题

    ServletContext 
    HttpSession
    ServletRequest
    //Servlet容器在启动时会扫描并收集所有监听器实例,将其注册到对应的具体主题(ServletContext)的监听器列表中
    
  • 抽象观察者

    ServletContextListener
    HttpSessionContextListener
    ServletRequestContextListener
    
  • 具体观察者:开发者实现的监听器。

  • ① 当ServletContext被创建时,容器会创建ServletContextEvent事件对象(通过该事件对象可以得到ServletContext)

  • ② 容器遍历ServletContext对应的监听器列表,调用每个监听器的contextInitialized(ServletContextEvent sce)方法,传递事件对象。

    //在contextInitialized(ServletContextEvent sce)方法里面得到ServletContext对象的两种方法
    方法一
    ServletContext context = (ServletContext) sce.getSource();
    方法二
    sce.getServletContext() 不用强转,直接获取事件源。
    
  1. ServletContext核心定位:是每个Web应用在Servlet容器中唯一的全局对象,一个Web应用对应一个ServletContext实例。监听器列表只是ServletContext众多功能中的一小部分。

    Filter 支持专属初始化参数
    Servlet 支持专属初始化参数
    Listener 不持专属初始化参数
    

    Listener 不持专属初始化参数,但是可以通过以下两种方式初始化:

    • ① 全局上下文参数

      <context-param><param-name>db.url</param-name><param-value>jdbc:mysql://localhost:3306/test</param-value>
      </context-param>
      
    • ② 自定配置文件传递

    //建议将db.properties放在配置文件路径
    InputStream is = context.getResourceAsStream("/WEB-INF/db.properties");
    Properties prop = new Properties();
    prop.load(is);
    
http://www.gsyq.cn/news/69250.html

相关文章:

  • newDay24
  • 12月2日日记
  • 10.日志中间件
  • 备课
  • 令牌环式同步:乒乓球对练的四种实现方式
  • 2025年11月助听器十大品牌推荐 自然之声以专业康复服务位
  • 歌声转换SVC主流方法原理剖析3 — So-VITS-SVC
  • 2025全国助听器厂家推荐榜:专业验配+全程康复成听损家
  • 超市环境智能监控方案:96.8% 识别精度,异味投诉归零
  • 小程序定制开发实战:需求拆解、UI 设计与个性化效果落地流程
  • 配电自动化(FTU、DTU、TTU)芯片国产化选择
  • 实验四 组合与继承
  • 编程题库 No.16 加班薪水UP
  • 百练PKU / 2024计算机学院推免上机考试考情分析与备考建议
  • 详细介绍:css学习盒模型:
  • python题库 No.17 大运预选
  • 基于CNN卷积神经网络和GEI步态能量提取的视频人物步态识别算法matlab仿真
  • 12/2
  • 12.13任务
  • 去颈纹用哪种颈霜效果好?2025临床数据揭秘真正有效的抗颈纹产品
  • 别再只懂二分类!逻辑回归+Softmax多分类实战,保姆级教程奉上 - 详解
  • 手把手带你通关Webug第一关:看懂SQL注入是怎么“玩”的
  • 技术总监亲述:工作授权不是甩锅,掌握这8步让团队战斗力提升300%
  • 关于Proteus在编译时提示Failed to set firmware property.的问题
  • 成群结队 - 冲刺总结
  • 从 Pandas 转向 Polars:新手常见的10 个问题与优化建议
  • 二进制兼容
  • 成群结队--冲刺计划
  • 第五天敏捷冲刺
  • Java进阶网络编程,UDP,TCP通信