如何打开位于WAR文件中的只读SQLite数据库?

时间:2015-12-25 19:25:32

标签: java servlets java-ee jdbc

我使用只读SQLite数据库部署servlet WAR。我该怎么打开它?

现在我在我的测试服务器上使用DriverManager.getConnection("jdbc:sqlite:ABSOLUTEDIR/myDb.db");,但我希望将其包含在我的WAR中以简化部署。

我可以将其打开为DriverManager.getConnection("jdbc:sqlite:myDb.db");,我应该将myDb.db放在哪里?

1 个答案:

答案 0 :(得分:1)

一些Servlet-Containers支持在ServletContext上调用getRealPath()。至少如果你以爆炸的webapp运行你的战争。

一旦你掌握了ServletContext,你就可以这样做:

 ServletContext ctx = //you need to do this
 String dbPath = ctx.getRealPath("/WEB-INF/sql.db");
 Connection con = DriverManager.getConnection("jdbc:sqlite:"+dbPath); 

祝你好运,圣诞快乐