码迷,mamicode.com
首页 > 编程语言 > 详细

JNDI--Java命名和目录接口

时间:2014-12-17 22:29:30      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   io   color   os   使用   sp   java   

JNDI主要用于在容器中配置某些资源,让所有项目可以使用。
JNDI可以提供:

1:数据库连接池。
            自定义连接池
             第三方连接池
       Dbcp
                    C3p0
                     JNDI
2:邮件服务器定义。
3:加载任意的类,让所有项目都可以使用。
        JNDI:[定义在tomcat容器中,所有项目必须要通过查找的方式获取这个服务Javax.naming.Context 环境(ENV)上下文。
                     它的一个了类:InitialContext

 

配置JNDI,不用发布项目

1、配置tomcat/conf/server.xml

1 <Context path="/aaa" docBase="D:\\Adnroid\\Workspaces\\day25\\WebRoot"> 
2                     <Resource name="jdbc/mysql" auth="Container"    //name--JNDI名称     auth--JNDI拥有者
3                         type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
4                         url="jdbc:mysql:///bookstore?characterEncoding=UTF8"
5                         username="root" password="mysql" maxActive="10" maxIdle="30"
6                         maxWait="-1"/>
7         </Context>
8</Host>

 

 2、将mysql-connection.jar放到tomcat/lib目录下

3、在java项目中引用 在代码中直接查询这个jndi:

 1 //1、声明上下文环境
 2             Context ctx=new InitialContext();
 3             //2、查找apache环境
 4             ctx= (Context) ctx.lookup("java:/comp/env");
 5             //3、从环境中查找JNDI
 6             Object obj= ctx.lookup("jdbc/mysql");
 7             /*第2,3步可以合成为obj=ctx.lookup("java:/comp/env/jdbc/mysql");*/
 8             //4、测试
 9             DataSource ds=(DataSource) obj;
10             Connection conn=ds.getConnection();
11             System.err.println(conn);

bubuko.com,布布扣

 

注:

一般来说不会修改/server.xml,会在bubuko.com,布布扣

目录下新建“项目名称.xml”,在里面插入第1步中的代码

 

标准DBUtils的写法

 1 public class DatasourceUtils {
 2     private  static DataSource ds;
 3     static{
 4         try{
 5             Context ctx = new InitialContext();
 6             ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/mysql");
 7         }catch(Exception e){
 8             e.printStackTrace();
 9         }
10     }
11     public static DataSource getDs(){
12         return ds;
13     }
14 }

 

JNDI--Java命名和目录接口

标签:style   blog   ar   io   color   os   使用   sp   java   

原文地址:http://www.cnblogs.com/liuwt365/p/4170564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!