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

如何在本地从超链接调用Java程序?,java,html,hyperlink,parameters,Java,Html,Hyperlink,Parameters,我有一个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 MyHtmlGen my_input 但我不知道如何

我有一个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 MyHtmlGen my_input

但我不知道如何将其转换为上面的html链接?

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


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

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

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

您可以使用它从浏览器交互启动Java应用程序

链接文档中标题为“从浏览器运行JavaWebStart应用程序”的部分提供了一个您可以尝试的演示。Java应用程序的链接如下所示:

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

该文档说明,当您单击链接时:

JavaWebStart软件根据JNLP文件中的指令加载并运行应用程序

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

注意:浏览器制造商已经逐步停止支持这种插件技术,因此您和您的用户的体验甚至自动运行引用应用程序的能力可能会有所不同。此外,允许此类插件在浏览器环境中运行会增加用户浏览器的安全攻击漏洞表面。WebStart也是一种复杂的技术,可供用户使用和支持。因此,出于这些原因,我通常不建议使用WebStart作为部署解决方案

您可以使用从浏览器交互启动Java应用程序

链接文档中标题为“从浏览器运行JavaWebStart应用程序”的部分提供了一个您可以尝试的演示。Java应用程序的链接如下所示:

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

该文档说明,当您单击链接时:

JavaWebStart软件根据JNLP文件中的指令加载并运行应用程序

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


注意:浏览器制造商已经逐步停止支持这种插件技术,因此您和您的用户的体验甚至自动运行引用应用程序的能力可能会有所不同。此外,允许此类插件在浏览器环境中运行会增加用户浏览器的安全攻击漏洞表面。WebStart也是一种复杂的技术,可供用户使用和支持。因此,出于这些原因,我通常不建议使用WebStart作为部署解决方案

我想你需要
Java EE
。@PM77-1甚至Java EE都不能做到这一点。@luigimendoza-我不能将一个Servlet映射到一个特定的URL吗?@PM77-1,它违背了OP所述的目的。如果你仔细阅读这个问题,OP只想通过选择链接来启动JVM,而不涉及更多内容。我的回答是,这是不可能的,除非您使用服务器端编程(不管编程语言:Java、PHP、.Net或其他什么)在服务器端启动JVM并运行Java程序。我想你需要
Java EE
。@PM77-1即使是Java EE也不能做到这一点。@luigimendoza-我不能将一个Servlet映射到一个特定的URL吗?@PM77-1,它违背了OP所述的目的。如果你仔细阅读这个问题,OP只想通过选择链接触发JVM,不需要更多的操作。我的回答是,这是不可能的,除非您使用服务器端编程(不管编程语言是Java、PHP、.Net还是其他),并且在服务器端启动JVM并运行Java程序。没有服务器在运行,在C:drive上只有一个本地html文件,我希望类似这样的东西可以启动一个java进程并使用参数my运行MyHtmlGen_input@Frank然后你应该把重点放在第一段。这就是你的答案。没有服务器在运行,只有C:drive上的一个本地html文件,我希望像这样的东西可以启动ja