ServletContextListener 和 ServletRequestListener 有什么区别?

What is the difference between ServletContextListener and ServletRequestListener?

我想通过从 web.xml 中提取数据库参数将数据库连接放入侦听器。我知道我必须将连接放入 ServletContextListener 但我可以放入 ServletRequestListener 还是至少告诉我应该在哪里使用 ServletRequestListener?

我只想稍微澄清一下

ServletContextListener(上下文初始化销毁时)

  • 如果您想在部署 Web 应用程序时执行某些操作,那么您应该使用 ServletContextListener
  • 在哪里使用?比如创建连接池。事实上,我已经用它在 hashmaps 中存储主 table 数据(如国家列表、countryWiseState 列表等),并将那些 hashmaps 存储在 application scope 中,这样做,我减少了不必要的数据库提取。

.

ServletRequestListener(当请求进入和离开范围时被调用)

  • ServletRequestListener 可以由有兴趣收到请求进入和超出 Web 组件范围的通知的开发人员实现。当一个请求即将进入每个 Web 应用程序中的第一个 servlet 或过滤器时,它被定义为进入范围,当它退出链中的最后一个 servlet 或第一个过滤器时,被定义为超出范围。