1.创建数据库
2.配置Tomcat中 文件夹为conf中的context.xml
1.配置context.xml的内容为:
<Context>
<Resource name="jdbc/gsywjz" auth="Container"
type="javax.sql.DataSource"
username="root"
password="123456"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:31521:orcl"
maxActive="100"
maxIdle="30"
maxWait="10000"/>
</Context>
2.name:指定的Resource 的JNDI名字
3.auth: 指定管理Resource的Manager,他有两个可选值:Container和Application。Container表示由容器创建 Resource,Appliction表示由Web应用创建和管理Resource
4.type: 指定Resource所属的java类型
5.maxActive:指定数据连接池中处于活动状态的数据连接的最大数目
6.maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制
7.waxWait:指定数据库连接池中数据连接处于空闲状态的最长时间(以毫秒为单位),超出这一时间将会抛异常
8.username:指定连接数据库的用户名
9.password:指定数据库连接的密码
10.driverClassName:指定连接数据库的JDBC驱动名程序
11.URL:指定连接数据库的URL
3导入jar包到Tomcat中lib文件夹下
- jar名称为:ojdbc14.jar
- web.xml文件的位置在(MyEclipse)webapps/WebProject/WEB-INF/web.xml
- 配置的内容:
<resource-ref> <description>news DataSource</description> <res-ref-name>jdbc/Message</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
description:对所引用资源的说明
res-ref-name:指定所引用资源的JNDI名字,与<Resource> 元素中的name属性对应
res-type:指定所引用资源的的类名字,与<Resource> 元素中的type属性对应
res-auth:指定管理所引用资源的Manager,与<Resource> 元素中的auth属性对应
4.编写代码,使用lookup()方法获得数据源对象/* * 功能:建立并返回数据库联接 Connection * * @param 无 */ public static java.sql.Connection getConnectionDB() throws SQLException { Connection con = null; try { DataSource ds = null; CCreateHome ch = new CCreateHome(); // jndiName = "java:comp/env/jdbc/message";使用lookup方法查找数据源时, //没有使用前缀("java:comp/env/")+数据源名称则会报错 String jndiName = GlobalNames.DB_JNDI_NAME; ds = (DataSource) ch.getHomeByJNDI(jndiName); con = ds.getConnection(); if (con == null) { throw new Exception("连接为空!"); } } catch (Exception e) { throw new SQLException("连接异常:" + e.toString()); } return con; } /* * 根据传入的JNDI获得接口对象 * * @param JNDI 名称 * * @return HOME的对象 */ public Object getHomeByJNDI(String jndiName) throws Exception { if (jndiName == null || jndiName.trim().equals("")) { throw new Exception("JNDI 名称不能为空!"); } try { Context context = new InitialContext(); Object ref = context.lookup(jndiName); return ref; } catch (Exception e) { throw new Exception("查找接口错误:" + e.toString()); } }