2011-10-12 55 views
0

我想在我的java web應用中訪問sqlite.db文件。 我可以用絕對路徑訪問它,但現在我想用我的webapps相對路徑訪問它。 我的context.xml看起來像在Java Webapp中訪問SQLite

<Context antiJARLocking="true" path="/webappServer"> 
    <Resource name="jdbc/myDB" auth="Container" 
    type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="1000" 
    driverClassName="org.sqlite.JDBC" 
    url="jdbc:sqlite:/db/sqlite.db" /> 
</Context> 

,我要求我的java類連接

Context initContext = new InitialContext(); 
Context envContext = (Context) initContext.lookup("java:/comp/env"); 
DataSource ds = (DataSource) envContext.lookup("jdbc/myDB"); 
Connection conn = ds.getConnection(); 

我的sqlite的位置是在C:\ DB \ sqlite.db,但現在我想移動它所以我可以打電話給我的SQLite連接像localhost/mysqlite.db 是可能的嗎?我應該做些什麼來實現它?

謝謝!

P.S.即時通訊新的Java Web應用程序。所以任何幫助將是非常有用的

回答

0

有2種不同的這樣的方式:

  1. 定義數據源的web應用之外Context.xml內Tomcat的自己Context.xml,並根據不同的服務器的需求對其進行修改。需要在每臺服務器上進行一次性配置。
  2. 在構建過程中解決問題。爲您需要的所有環境創建不同的Context.xml文件,例如Context_prod.xml。在構建過程中,識別您需要的文件並將其放入您的Web應用程序中。

這些是我知道的兩種方法。

+0

對不起,我的無知。但是如何創建不同的context.xml?以及如何聲明的網址?你能舉個例子嗎? 謝謝:) – JrL

+0

@jlianto:1)您只需使用簡單的編輯器或您選擇的IDE創建不同的'Context.xml'文件。 2)定義您的sqllite數據庫的URL取決於您的驅動程序(例如http://www.zentus.com/sqlitejdbc/),應該在供應商文檔的「某處」提供。 – home