我想开发一个独立的 java 应用程序,以 web 浏览器作为前端。此应用程序将在本地运行,并且不会进行任何远程服务器调用。我本质上是在使用 java,因为 web 浏览器无法执行文件操作。
我希望这个应用程序是可移植的:不需要安装。只需复制一个文件夹就足够了。我想知道它是如何完成的,javascript 将如何与 java 代码通信。
我想开发一个独立的 java 应用程序,以 web 浏览器作为前端。此应用程序将在本地运行,并且不会进行任何远程服务器调用。我本质上是在使用 java,因为 web 浏览器无法执行文件操作。
我希望这个应用程序是可移植的:不需要安装。只需复制一个文件夹就足够了。我想知道它是如何完成的,javascript 将如何与 java 代码通信。
您不需要本地 Web 服务器。使用 JavaFX(嵌入式 webkit)并为“myprotocol”实现一个 URL 协议处理程序。然后您可以使用 myprotocol://xxx.yyy.zzz 从浏览器访问它
继续@Quentin的回答。
是的,您需要网络服务器。
有两种主要架构:
恕我直言,我认为第二种方法更好,但是它在很大程度上取决于您的应用程序功能。
您可以将 jetty 或 grizzly 作为 Web 容器。两者都可以在嵌入式或独立模式下运行。如果您需要有关您的应用程序设计的具体建议,欢迎您与社区分享您的应用程序的其他详细信息。
根据需要编写一个小型 Web 应用程序并使用Jetty进行部署。Jetty 是一个纯基于 Java 的 HTTP 服务器和 Java Servlet 容器。您也可以通过嵌入式模式使用它。
如果您使用Jetty-Runner,部署非常简单
java -jar jetty-runner.jar my.war
该应用程序需要实现一个 HTTP 服务器。然后所有的通信都将通过 HTTP 完成。