1.JNDI
含义: JNDI,Java Naming and Directory Interface(java命名与目录的接口),是一个有关应用程序设计API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。
使用JNDI的步骤:1.配置资源;(修改Tomcat根目录/conf/context.xml文件(为全局的上下文的配置文件),修改:<Environment type="java.lang.String" value="hello JNDI" name="JNDI"/>)
2.通过Context的lookup()方法查找资源。(Context ctx=new IntialContext(); String s=(String) ctx.lookup("java:comp/env (前缀) /JNDI(<Environment> name属性)"))。
JNDI的作用与优点
1.在应用与Java对象或资源之间建立松耦合的逻辑关联,简化应用对于资源的配置及维护工作
2.可以在更大范围、不同应用之间共享资源。
JNDI的特点:1.JNDI发布的信息是对服务器上所有的Web应用程序都可见;
2.提供了对其他资源的引用。
application和JNDI的区别:前者对象只能在一个web应用程序中使用,可使用JNDI发布的信息是对服务器上所有的Web应用程序都可见。
2.数据库连接池
含义:
官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。
个人理解:创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。
数据库连接池的运行机制:
(1) 程序初始化时创建连接池
(2) 使用时向连接池申请可用连接
(3) 使用完毕,将连接返还给连接池
(4) 程序退出时,断开所有连接,并释放资源
传统数据库连接方式的不足:
1.