【问题标题】:SQLite with Java web start (in JNLP) how?SQLite 与 Java web start(在 JNLP 中)如何?
【发布时间】:2013-12-10 04:09:58
【问题描述】:

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

我的意思是,我的目标是使用数据库创建一个应用程序,然后使用 java web start 部署它。据我了解,java web start 是基于将运行应用程序所需的所有 jars 和其他文件放入 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");
}
}

【问题讨论】:

  • 这个问题是关于“创建file association”的吗?如果不是,我不明白你的意思。您需要重新表述这一点,或者告诉我们最终目标,即旨在实现的功能。
  • @AndrewThompson 已经编辑了问题。
  • "java web start 是基于将运行应用程序所需的所有 jars 和其他文件放入 shell" 'shell' 的 DYM 是什么?
  • 为了不伤害用户而下载运行应用程序所需文件的地方。 (因为它位于无法访问任何其他文件的地方)
  • 哦,您的意思是沙盒!您误解了它的工作原理。看看我的回答“现在很快”......

标签: java sqlite java-web-start jnlp


【解决方案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 上,但只下载了一组 Jars,而 JWS 将使用相同的两个版本的应用程序的罐子。


  • Open the Java Control Panel(顶部有缓存查看器)。
  • 关闭缓存查看器以聚焦控制面板。
  • 在常规选项卡上,在 Internet 临时文件下,操作设置。
  • 在临时文件设置中,是保存 Internet 临时文件的位置。
  • 您现在可以浏览到该位置并检查它,以更好地了解文件在本地文件系统上的组织方式。鉴于“无”压缩的默认设置,我预计它将是松散(未压缩)的资源。

【讨论】:

  • 感谢您纠正我的误解并向我解释了一些值得了解的事情,但主要问题是:如果不是 jar,我如何才能访问 tasks.sqlite(一个文件数据库)所以我无法将其写入 JNLP。我已经编写了安全性 - JNLP 文件中的所有权限,但 JNLP 不知道运行应用程序也需要 sqlite。希望我很清楚,你有足够的耐心。谢谢。
  • 我需要你的帮助,这个问题我到处问了很多遍,但可能没有答案。你会这么好心并为我找到任何解决方案吗?如果你不明白这个问题,就问。我想要的只是让我的应用程序在线。所以我正在使用 JWS,但是如何使用 sqlite 数据库呢?
  • 我对数据库不太熟悉。我认为一个数据库的数据在一个文件中?应用程序。是否为保存这些文件的位置以及在哪里查找现有文件配置了路径?
  • 我的问题已更新,您可以看到我如何将它与数据库连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
相关资源
最近更新 更多