首页 文章

SQLite与Java web start(在JNLP中)如何?

提问于
浏览
0

这个问题没有答案,也很难找到 . 我感兴趣的是如何使用一个文件类型数据库(sqlite)与java web start部署?在JNLP中应该有什么或者如何强制JWS将sqlite文件放入该安全shell中?

我的意思是,我的目标是使用数据库创建一个应用程序,然后使用java web start部署它 . 据我所知,java web start基于将运行应用程序所需的所有jar和其他文件放入shell(这是在JNLP文件中定义的 - 哪些文件应该下载到shell中)并且我想使用sqlite数据库连接(在应用程序中它已经具有连接类,因此它在离线模式下工作) .

这是我将应用程序与sqlite数据库连接的方式:

public class SQLiteConnection {
public static Connection con=null;
public static void connect() throws ClassNotFoundException, SQLException{
Class.forName("org.sqlite.JDBC");
        con = DriverManager.getConnection("jdbc:sqlite:tasks.sqlite");
}
}

1 回答

  • 1

    ..如何强制JWS将sqlite文件放入该安全shell中?

    将它放在相同的JNLP或声明相同安全级别的扩展中 .


    澄清一些误解 . JWS沙盒不是一个物理场所,而是一个特定的“安全环境” .

    JWS提供3个级别的安全性 . 沙盒和您可能熟悉的所有权限,但第三个在两者之间,并且被称为 j2ee-application-client-permissions .

    例如 . 我可能会提供一个应用程序对于既有沙盒又有 j2ee-application-client-permissions 的用户 .

    第一个会提示访问JNLP API服务并在框架外显示浮动警告符号,但在初始启动时会有较少的严重警告 .

    第二个会向用户显示一个稍微令人担忧的警告,但随后允许自动访问JNLP API服务并且没有警告符号 .

    如果用户使用了两个版本的软件(我们假设他们尝试了沙盒版本,并且当满意时,更改为 j2ee-application-client-permissions 版本) . 这将导致2个JNLP文件存储在用户的PC上,但是 only one set of Jars 被下载,JWS将为这两个版本的应用程序使用相同的JAR .


    • Open the Java Control Panel(缓存查看器位于顶部) .

    • 关闭缓存查看器以聚焦控制面板 .

    • 在“常规”选项卡上的“Internet临时文件”下,单击“操作设置” .

    • 在“临时文件设置”中,是保留临时Internet文件的位置 .

    • 您现在可以浏览到该位置并进行检查,以便更好地了解文件在本地文件系统上的组织方式 . 鉴于压缩'None'的默认设置,我预计它将是松散的(非Jarred)资源 .

相关问题