我尝试通过 DatabaseSource JNDI 查找建立数据库连接。我按照 Tomcat 网站上的说明进行操作,如下所示
我将资源添加到 context.xml
<Resource name="jdbc/myDB" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:111.111.111.111:1234:DBNME"
username="Dobby" password="pwd" maxActive="20" maxIdle="10" maxWait="-1"/>
网络.xml
<resource-ref>
<description>MY DataBase</description>
<res-ref-name>jdbc/myDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在代码中
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/myDB");
Connection con = ds.getConnection();
如果连接失败,我想显示带有数据库 URL 的错误消息。如何在我的代码中获取在 context.xml 中配置的数据库 URL
最佳答案
正如您在 apache 示例中注意到的那样,有一个名为 MyBeanFactory 的类。从这个类中,您可以从 context.xml 文件中获取资源。
您需要在 servlet 中检查连接是否已建立。如果未建立连接,则使用 setter/getter 方法从 context.xml 获取 URL 的值,并显示带有 URL 的错误消息。
我对服务器的 IP 地址做了同样的事情并取得了成功。 :D
希望这有助于...
关于java - 如何通过上下文对象获取资源元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410804/