繁体   English   中英

如何从本地超链接调用Java程序?

[英]How to call a Java program from a hyperlink locally?

我有一个html文件,其中有链接,我想知道是否有一种方法可以使用这些链接来调用java程序来生成另一个html文件?

像这样的东西:

<Html>
<body>
Some text
<A Href=[somehow point to a java .class file to run]>My Link</A>
More text
</Body>
</Html>

我知道如何使用Java生成html,我在这里要问的是如何将参数传递给此本地java类,以便它可以使用输入生成html文件?

因此,如果Java程序名为:MyHtmlGen.java

然后,该类将为MyHtmlGen.class

然后,如果我从命令行运行它,它将像这样:

> java MyHtmlGen my_input

但是我不知道如何把它变成上面的html链接?

那是不可能的。 链接<a>将向服务器发出针对href属性中设置的URI的GET请求,但这并不意味着要执行特定的代码段。 如果要在单击链接时执行代码,请使用JavaScript,但请注意JavaScript无法启动JVM实例并运行您的确切Java应用程序。

另一方面,也许您应该研究Applet或JavaFX并将Java应用程序嵌入页面中。 也许您可以向服务器提交操作,并且可以在服务器端启动JVM并执行Java代码。

您可以使用WebStart通过浏览器交互来启动Java应用程序。

链接文档的标题为“从浏览器运行Java Web Start应用程序”的部分提供了可以尝试的演示。 提供给Java应用程序的链接为:

<a href="/some/path/Notepad.jnlp">Launch Notepad Application</a>

该文档指出,当您单击链接时:

Java Web Start软件根据JNLP文件中的指示加载并运行应用程序。

不是我在装有Oracle Java 8u40的OS X 10.9上的Safari 7.1上获得的行为。 相反,我只是下载了jnlp文件,并且可以双击下载的文件来运行该应用程序。 认为在某些浏览器上,Oracle可能会为浏览器提供一个插件,该插件能够自动启动jnlp引用的应用程序,而用户不必双击下载的jnlp文件。 也许,如果使用Java部署工具包 ,而不是使用直接a href链接,则用户体验可能会更加无缝。

注意:浏览器制造商一直在逐步停止对此类插件技术的支持,因此您和您的用户的体验甚至是自动运行引用的应用程序的能力都可能不同。 此外,允许此类插件在浏览器环境中运行可以增加用户浏览器的安全攻击漏洞范围。 WebStart也是一项快速棘手的技术,可以为您的用户使用和支持。 因此,由于这些原因,我通常不建议将WebStart用作部署解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM