配置Tomcat 5 JNDI连接数据库步骤

需积分: 9 1 下载量 154 浏览量 更新于2024-10-01 收藏 2KB TXT 举报
"配置Tomcat5以支持JNDI数据源" 在Java应用服务器如Tomcat中,JNDI(Java Naming and Directory Interface)用于管理应用的资源,如数据源(DataSource),提供了一种统一的方式来查找和访问这些资源。在本配置中,我们将详细解释如何在Tomcat5中设置JNDI数据源,以便应用程序能够透明地连接到数据库。 首先,我们需要在Tomcat的主配置文件`server.xml`中进行修改。这个文件通常位于`$TOMCAT_HOME/conf`目录下。我们需要找到`<Host>`节点,并在这个节点内部增加一个`<Context>`元素来定义一个全局的JNDI资源。例如: ```xml <Host ...> ... <Context> <ResourceLink global="hdmis" name="hdmis" type="javax.sql.DataSource"/> </Context> ... </Host> ``` 在这个`<ResourceLink>`元素中,`global`属性是JNDI名称,`name`属性是资源的内部引用名称,而`type`属性定义了资源的类型,这里是`javax.sql.DataSource`,表示我们配置的是一个SQL数据源。 接下来,我们需要创建一个具体的`DataSource`实例。在`$TOMCAT_HOME/conf/Catalina/localhost`目录下,为你的项目创建一个XML文件,文件名应与你的Web应用上下文路径相匹配,例如`XXX.xml`。然后在该文件中添加以下内容: ```xml <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="hdmis" type="javax.sql.DataSource" password="hdmis" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="2" maxWait="50" username="hdmis" url="jdbc:oracle:thin:@192.168.1.40:1521:oracle" maxActive="4"/> </Context> ``` 这里的`<Resource>`元素包含了数据库连接的详细信息,包括用户名、密码、驱动类名、URL以及连接池的配置参数。 接着,为了使Web应用程序能够识别并使用这个JNDI数据源,我们需要在项目的`WEB-INF/web.xml`文件中的`<web-app>`节点下添加一个`<resource-ref>`元素,这样应用就可以通过JNDI查找来获取数据源: ```xml <web-app ...> ... <resource-ref> <description>DBConnection</description> <res-ref-name>hdmis</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> ... </web-app> ``` `<res-ref-name>`属性应与`<Resource>`或`<ResourceLink>`中的`name`属性匹配,`res-type`表示资源的类型,同样应与`<Resource>`中的`type`属性一致。`res-auth`指定认证方式,这里设置为`Container`,意味着由容器(Tomcat)负责认证,而`res-sharing-scope`定义了资源的共享范围。 最后,确保在Tomcat的`common/lib`目录下包含了对应的数据库驱动JAR文件,比如对于Oracle数据库,应有`ojdbc14.jar`或类似的驱动包。 完成以上步骤后,你的Tomcat5就已经配置好JNDI数据源,你的Web应用可以通过JNDI名称`java:comp/env/hdmis`来访问这个数据源,从而实现与Oracle数据库的连接。这种方式的好处在于,数据源的配置和应用程序代码分离,便于管理和维护。