JNDI其实就是一个标准
我们可以看成通过名称得到对象,用的比较多的就是配置数据源了。下面只是说配置数据源
首先 这些信息都能在tomcat官网上面查看文档就能看到JNDI的一些说明了(不过都是英文的)
首先这样做的目的是 在我们不使用第三方
连接池时,我们直接创建一个工具类,通过配置的名称可以获取上下文对象,从而获取连接,代码在下面
直接在context.xml配置下面代码
class="java">
<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
username="scott" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
像maxActive,maxWait这些属性就不介绍了 网上介绍的太多了
主要说一下前面2个属性,首先,name 就是名字,我们通过这个就可以获取上下文对象,这个名字可以随便写,不必须写/ ,另外这个auth,就是说
管理者,Container就是容器的意思,就是把队连接的管理功能交给了容器,容器在这里就可以
理解为tomcat服务器
配置完成就可以在Java代码中获取连接了
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
Connection conn = ds.getConnection();
上面的路径可以写成一个的,很多地方会用到,比如报表birt进行开发配置数据源的时候,直接写成java:/comp/env/jdbc/myoracle 就OK