利用ServletContextLinstener获取并缓存数据源

本文介绍了如何利用ServletContextListener在web应用启动时获取并缓存DataSource,以提高性能。通过实现ServletContextListener接口,可以在contextInitialized方法中加载数据源,并在contextDestroyed方法中释放,避免每次请求时进行JNDI查找,提升应用效率。配置完成后,可通过getServletContext().getAttribute("DataSource")轻松获取数据源。
摘要由CSDN通过智能技术生成
 
           利用 ServletContextLinstener 获取数据源
我们在设计 web 应用程序的时候,在保证功能实现的基础上就会考虑增强应用程序的性能,我们通常会在 web 服务器开始时缓存一些静态数据或者完成一些代价昂贵的操作。 一个最佳实践是使用实现了 javax.sql.DataSource 接口的 JDBC 连接池。
DataSource从JNDI树中获得。每调用一次SQL就要使用JNDI查找DataSource是非常昂贵的工作,而且严重影响了应用的性能。我不建议每次查找数据源建立连接等,相反,我们可以在服务器启动时就缓存DataSource,这样就可以大大提高性能。这一节我 们就学习如何使用 ServletContextLinstene 来完成数据源的查找。
Servlet的应用程序时间管理机制可以使编程者方便的控制ServletContext,HttpSession和ServletResuqst的生命周期。在程序中使用动作监听器可以根据servlet的运行状态更加有效的使用Web服务器资源。
ServletContext 监听器
ServletContext事件监听器包括两个监听器接口:ServletContextLinstener和ServletContextAttributeListener。在这里我们只关心ServletContext中ServletContextLinstener接口。
事件类型
解释
监听器接口
接口方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值