jndi 怎么配置?手把手教你配置jndi的教程!

吉云

我就来聊聊这个JNDI,也是折腾我好一阵子。一开始完全不知道这是个啥玩意,就觉得名字挺唬人的。后来工作需要用到,没办法,硬着头皮上呗。

我先去网上搜搜“JNDI到底是个什么”,发现这东西就是个接口,Java 搞出来的一套玩意,用来找各种资源的。打个比方,就像你家有很多电器,电视、冰箱、空调等等,每个都有自己的开关,JNDI 就像一个总控面板,你不用一个个去找那些开关,直接在面板上操作就行。一开始看到这里的时候我也还是一知半解,但是总比之前啥都不知道好多。

jndi 怎么配置?手把手教你配置jndi的教程!

我这回主要是想用它来连数据库,省得每次都写一堆连接代码,麻烦得很。我就开始动手配置。

第一步,肯定是准备环境。我本机装的是 Tomcat,版本是 7.0,数据库用的是 MySQL。先把这些都准备好,别到时候配置一半发现环境不对,那就白瞎。

第二步,就是改 Tomcat 的配置文件。这玩意叫 ,就在 Tomcat 安装目录的 conf 文件夹里。我当时找这个文件也找一会儿,生怕改错地方。打开这个文件,找到 <Context> 标签,在里面加一段配置,大概长这样:

  • <Resource>
  • name="jdbc/myDataSource"
  • auth="Container"
  • type="*"
  • driverClassName="*.Driver"
  • url="jdbc:mysql://localhost:3306/mydatabase"
  • username="root"
  • password="123456"
  • maxActive="20"
  • maxIdle="10"
  • maxWait="-1"
  • </Resource>

这里面,name 就是给这个数据源起个名字,后面代码里要用;url 就是数据库的地址;usernamepassword 就是数据库的用户名和密码;其他的几个参数,比如 maxActivemaxIdle,是用来控制连接池的,就是控制同时可以有多少个数据库连接,还有多少个空闲连接啥的。这个连接池大概就是一堆连接放在一起,想用就去取,用完还回去,省事不少。

第三步,就是在我的代码里用。就两行代码:

  • Context initContext = new InitialContext();
  • DataSource ds = (DataSource) *("java:comp/env/jdbc/myDataSource");

第一行就是创建一个 JNDI 的上下文环境,第二行就是通过刚才配置的那个名字 jdbc/myDataSource 去找到这个数据源。找到之后,就可以通过 来获取数据库连接,和平时用的 差不多,但是方便多,不用每次都写一堆参数。

我把代码跑起来,还真连上数据库!当时心里那个美,总算搞定这个 JNDI。虽然过程有点曲折,但是结果还是好的。以后再也不用写那么多重复的数据库连接代码,爽歪歪!而且这个配置,我还可以配置多个数据源,连不同的数据库,想想都觉得方便。这回也算是对 JNDI 有初步的解和实践,以后再遇到类似的问题,应该也能轻松应对。感觉自己又进步一点点!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]