最近负责一个小功能,项目可以用tomcat或weblogic启动。刚开始用weblogic启动,但是在开发的过程中太费力,更改一个类就需要更新weblogic,更新过程实在太慢,很影响开发效率。于是决定用Tomcat配置jndi,减少开发耗费的时间。
Tomcat部署项目:
刚开始在网上baidu使用Tomcat配置jndi,更改的文件是Tomcat的安装包的server.xml和content.xml。在eclipse中启动Tomcat还是报空指针连接异常,所以断定数据源没有配置成功。个人认为可能是需要将项目打包到webapps才可以使用Tomcat安装路径下配置的jndi。后来偶然发现其实eclipse中有一个Servers文件夹,这里包含eclipse所配置的Tomcat。content.xml和server.xml也是配置数据源的文件,所以我们可以从Servers中配置Tomcat让eclipse项目可以访问jndi。
Servers目录:
一、在server.xml中添加数据库连接地址,在中添加如下内容: 示例数据源:
<Resource name="jdbc/TEST" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@172.11.11.11:1521:test" username="test" password="test"/>二、在context.xml添加jndi全局变量,在 </Context>上面添加如下内容:
<ResourceLink global="jdbc/TEST" name="jdbc/TEST" type="javax.sql.DataSource"/>属性中的name对应的值要和上一步 Resource 里面的name值一样。如果有多个数据源,就对应多个Resource和ResourceLink即可。 三、在eclipse项目的web.xml中配置dataSource
<resource-ref> <res-ref-name>jdbc/TEST</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>