JNDI连接数据库
来源:互联网 发布:京东店铺数据查看插件 编辑:程序博客网 时间:2024/05/16 04:43
优点
实现了Java程序和配置文件的分离。将JDBC驱动程序的引用、服务器名称、用户名、密码这些信息交给J2EE容器配置和管理,程序员只需要对这些配置和管理进行引用即可。
实现步骤
1、在J2EE容器中配置JNDI参数;
2、程序中引用。
JBOSS下实现JNDI:
1、在JBOSS服务目录server/default/deploy下新建数据库配置文件xx.xml,配置文件内容如下:
<?xml version="1.0" encoding="UTF-8"?><datasources><local-tx-datasource><jndi-name>MZ_ORCL_Fujian</jndi-name> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class><connection-url>jdbc:oracle:thin:@192.168.60.61:1521:TEST</connection-url><user-name>username</user-name><password>password</password><min-pool-size>5</min-pool-size> <max-pool-size>30</max-pool-size> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name><metadata> <type-mapping>Oracle9i</type-mapping></metadata></local-tx-datasource></datasources>
2、在Java程序中引用
<body> <% InitialContext ctx = new InitialContext();DataSource dataSource = (DataSource) ctx.lookup("java:/MZ_ORCL_Fujian");Connection conn = dataSource.getConnection(); %> <%=conn %> <% conn.close(); %> </body>
因为由JBOSS服务管理数据库配置,所以具体测试要启动JBOSS服务,代码不可以脱离JBOSS服务单独测试。可以在JSP或者Servlet中书写测试。上面的代码书写在WEB服务的默认访问页面index.jsp中的。方便测试。
3、访问项目
JBOSS上部署项目,启动JBOSS服务,访问项目,执行结果如上。
TOMCAT下实现JNDI:
1、修改TOMCAT目录下配置文件conf/context.xml,如下:
<Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource><!-- 根据实际情况修改 --><Resource name="jdbc/test" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.60.61:1521:TEST" username="username" password="password"maxIdle="20" maxWait="5000"/> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> --></Context>
2、修改web.xml配置文件,添加如下配置:
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
其中,res-ref-name和context.xml配置文件中Resource元素的name属性值相同。
3、修改inex.jsp
<body> <% InitialContext ctx = new InitialContext();DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/test");Connection conn = dataSource.getConnection(); %> <%=conn %> <% conn.close(); %> </body>
4、测试
在TOMCAT安装目录lib文件夹下面添加oracle的驱动,重新发布启动服务,测试通过。测试结果如下:
0 0
- Ibatis+JNDI连接数据库
- jndi 连接数据库
- JNDI连接SQL数据库
- jndi连接数据库
- JNDI连接数据库
- JNDI连接数据库
- 使用JNDI 连接数据库
- JNDI连接数据库
- JNDI 连接数据库
- JNDI连接数据库
- 用JNDI连接数据库
- JNDI连接数据库
- 使用JNDI连接数据库
- JNDI连接数据库
- jndi连接数据库
- 使用JNDI连接数据库
- JNDI连接数据库
- 用JNDI连接数据库
- jQuery学习第二课
- GAE学习笔记
- MIT 6.828 main.c文件分析
- C3P0连接池的配置,C3P0在高并发加压下,响应时间会变成长。
- java监测窗口事件
- JNDI连接数据库
- 获取一个整型的每八位
- java AES 加密/解密
- ios app 未发布前进行大规模测试的一些思路及做法
- Qt学习笔记01_标准对话框
- mysql数据库修改密码的常用方法
- 基于STM32的中文字库解码
- iBatis入门
- java gzip 压缩字符串