繁体   English   中英

我想知道如何将tomcat连接到Oracle jdbc池

[英]I wonder how can I connect tomcat to oracle jdbc pool

我的代码对吗? 在context.xml中,我这样添加。 driveClassName或url可能有问题?

<Resource  name="jdbcoracle"   auth="Container" type="javax.sql.DataSource"
 factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdle="1"
maxWait="100"
username="test"
password="test"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:8080/orcl"/>   

在tomcat和project的web.xml中,像这样添加

<resource-ref> 
<description>oracle Connection</description> 
<res-ref-name>jdbc/oracle</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref>

但似乎仍然是

javax.servlet.ServletException: javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]

所以我该怎么做? 顺便说一句,因为8080无法正常工作,我将雄猫的端口号更改为8081。

tomcat-dbcp.jar在类路径中错过tomcat-dbcp.jar 下载并将其添加到类路径。

根据参考,这看起来不错,但有一个例外(如果您只是复制/粘贴了声明):

<Resource>声明中,您具有name="jdbcoracle"而在<resource-ref>您使用jdbc/oracle name="jdbcoracle"注意斜杠。

我仅在最初回答后8个小时才看到:您声明数据库URL指向端口8080-这通常是一个管理界面(也是tomcat无法在此端口上运行的原因),而Oracle的DB端口以前是1521(除非您进行了更改)。

另外,按照詹斯(Jens)的建议检查您的类路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM