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 或第一个过滤器时,被定义为超出范围。
我想通过从 web.xml
中提取数据库参数将数据库连接放入侦听器。我知道我必须将连接放入 ServletContextListener 但我可以放入 ServletRequestListener 还是至少告诉我应该在哪里使用 ServletRequestListener?
我只想稍微澄清一下
ServletContextListener(上下文初始化销毁时)
- 如果您想在部署 Web 应用程序时执行某些操作,那么您应该使用 ServletContextListener
- 在哪里使用?比如创建连接池。事实上,我已经用它在
hashmaps
中存储主 table 数据(如国家列表、countryWiseState 列表等),并将那些hashmaps
存储在application scope
中,这样做,我减少了不必要的数据库提取。
.
ServletRequestListener(当请求进入和离开范围时被调用)
- ServletRequestListener 可以由有兴趣收到请求进入和超出 Web 组件范围的通知的开发人员实现。当一个请求即将进入每个 Web 应用程序中的第一个 servlet 或过滤器时,它被定义为进入范围,当它退出链中的最后一个 servlet 或第一个过滤器时,被定义为超出范围。