java - 如何通过上下文对象获取资源元素

标签 java jakarta-ee tomcat jndi

我尝试通过 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/

相关文章:

eclipse - 打开 weblogic 快速交换到 Weblogic 10.3.0.0 时出现问题

xml - 如何配置tomcat直接提供xml文件

java - Tomcat 7.0 启动时抛出错误

java - 在 Tomcat 上运行后 Web 服务验证失败

java - 将 Jframe Jtextfield 发送到另一个类

java - libsvm 适用于多输出回归吗?

java - JSONArray.names() 重新排序对象?

java - 找出两个日期之间的天数差异以及每个月有多少天

java - JSF2.0 中的 session 无效

jakarta-ee - 使用 jetty-maven-plugin 时过滤 web.xml?