在tomcat中发布web项目,可能是因为spring中配置了jndi(只配置了jndi,其他的有工具包封装了)。
启动的时候报错(在项目目录下,在tomcat中配置context指向项目目录就没问题,打包发布到
tomcat就报错了),抛的异常是:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
在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>
如我工程文件要用到2个数据库,修改后为
<Context docBase="C:/Users/Administrator/workspace/TICS/src/TICS/WebContent" path="/tics" reloadable="true">
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/ngodTICSDB" password="tics" type="javax.sql.DataSource" url="jdbc:oracle:thin:@10.0.0.217:1521:bms" username="tics"/>
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/ngodTICSHtySDB" password="ticshty" type="javax.sql.DataSource" url="jdbc:oracle:thin:@10.0.0.217:1521:bms" username="ticshty"/>
</Context>
是用eclipse开发是要注意,在添加tomcat服务器的时候要选择实用自己service.xml,不然该段配置不会起作用,仍然会报相关错误,具体设置如下