2016-12-06 254 views
0

我已經安裝PostgreSQL 9.5.2(rhel 6.7 x64)和Apache Tomcat 7.0.73(x64 rhel 6.7)後,我已經下載了postgresql-9.4.1212.jar jar文件並粘貼到CATALINA_HOME/lib目錄路徑,並添加此之後到的content.xml文件Apache Tomcat連接到PostgreSQL數據庫(通過JDBC驅動程序)

<Resource auth="Container" name="jdbc/postgres" type="javax.sql.DataSource" user="sarkhan" password="1" 
      driverClassName="org.postgresql.Driver" url="jdbc:postgresql://172.29.92.162:5432" maxActive="150" 
      schema="test" maxIdle="4"/> 

添加按照與web.xml文件

<resource-ref> 
    <description>postgreSQL Datasource</description> 
    <res-ref-name>jdbc/postgres</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

所以,我怎麼可以測試Apache Tomcat服務器連接到PostgreSQL數據庫服務器?

回答

0

Tomcat的給予的JNDI Datasource HOW-TO導向,具體如下:

  • 訪問數據源

    當編程方式訪問的數據源,記得前面加上的java:/ COMP/env到你的JNDI查找,如下面的代碼片段所示。還要注意,「jdbc/postgres」可以用你喜歡的任何值替換,只要你在上面的資源定義文件中改變它。

  • InitialContext cxt = new InitialContext(); 
    if (cxt == null) { 
        throw new Exception("Uh oh -- no context!"); 
    } 
    
    DataSource ds = (DataSource) cxt.lookup("java:/comp/env/jdbc/postgres"); 
    
    if (ds == null) { 
        throw new Exception("Data source not found!"); 
    } 
    
    +0

    我不知道 '空',也許除了可以在的Tomcat6/7的安裝拋出??? –

    +0

    @Jacek Cz是的,你需要嘗試捕獲代碼塊,因爲'InitialContext'和'cxt.lookup'明確地拋出某些類型的異常。 –

    相關問題