java - 配置 JDBC 数据源以与 JSF 2 项目中的 JNDI 和 Tomcat 6 一起使用

标签 java jsf-2 jdbc tomcat6 jndi

我正在开发一个使用 JSF 2 的 Web 应用程序,该应用程序将部署在 Tomcat 6 中。我需要使用 JNDI 访问 HSQLDB 数据源。我无法修改 Tomcat 的 server.xml 文件,也无法修改任何其他“Tomcat 文件”。我已经看过有关此的各种教程和解释,但都包含有关修改 server.xml 等的步骤,这在本例中是不允许的。我的问题是,是否可以在不修改 Tomcat 文件的情况下完成此操作(即仅对 META-INFWEB-INF 中的文件进行更改,例如 web.xml ,以及.war文件中要部署的其他文件?如果是的话,需要修改哪些文件以及如何修改?这是我第一次设置通过JNDI访问数据库,越详细越好回复越好。谢谢。

最佳答案

看看Apache Tomcat JNDI How-To

在那里您可以看到,您只需要修改/创建 META-INF 中的 context.xml 项目和 WEB-INF 中的 web.xml ...

Configure the JNDI DataSource in Tomcat by adding a declaration for your resource to your Context.

  <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/javatest"/>

Now create a WEB-INF/web.xml for this test application.

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

关于java - 配置 JDBC 数据源以与 JSF 2 项目中的 JNDI 和 Tomcat 6 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486977/

相关文章:

jsf - 从url中删除faces servlet url模式和页面扩展

java - JDBC 批量更新有何帮助?

sqlite - 在Maven跨平台中创建SQLite数据库

java - jdbc左连接3个表

jsf-2 - 如何在 JSF 中禁用整个 bean 验证?

java - Spring+Hibernate+MySQL CRUD 不工作

java - 如何写入 Java 中的 txt 文件中的特定行号

java - 使用比较器进行自定义比较

javascript - Primefaces 和 RemoteCommand : Best pratice to handle parameters from JavaScript

java - 如何根据JDBC结果集创建表