在Java Webapp中访问SQLite

时间:2011-10-12 05:44:18

标签: java sqlite

我正在尝试访问我的java web应用程序中的sqlite.db文件。 我可以使用绝对路径访问它,但现在我想用我的webapps相对路径访问它。 我的context.xml看起来像

<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网络应用程序的新手。所以任何帮助都会非常有用

1 个答案:

答案 0 :(得分:0)

有两种不同的方式:

  1. 在Tomcat自己的Context.xml内的webapps Context.xml之外定义数据源,并根据不同服务器的需要对其进行修改。需要在每台服务器上进行一次性配置。
  2. 在构建过程中解决问题。为您需要的所有环境创建不同的Context.xml文件,例如Context_prod.xml。在构建过程中,确定您需要的文件并将其放在您的webapp中。
  3. 这是我所知道的两种方法。