我使用只读SQLite数据库部署servlet WAR。我该怎么打开它?
现在我在我的测试服务器上使用DriverManager.getConnection("jdbc:sqlite:ABSOLUTEDIR/myDb.db");
,但我希望将其包含在我的WAR中以简化部署。
我可以将其打开为DriverManager.getConnection("jdbc:sqlite:myDb.db");
,我应该将myDb.db放在哪里?
答案 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);
祝你好运,圣诞快乐