您的问题实际上有点过于模棱两可和广泛。事实上,您可以在任何您喜欢的机器上运行 Java 代码,而不管您使用哪种语言编写基于 Web 的界面。例如,您可以创建一个基于 PHP 的网站,该网站与“后端”Java 应用程序(“命令行应用程序”为你叫它)。唯一的要求是在服务器机器上有一个 JRE。然后基本上所有作为 Web 界面的东西就足够了:CGI、PHP、ASP、Python 等等,应有尽有。只要它可以访问底层命令行运行时,这在 PHP 示例中由exec()
.
但是 Java,实际上是 Java EE,也提供了 Web 应用程序编程接口:JSP / Servlet API,大型Java EE API的 Web 组件。这使得与“命令行 Java 应用程序”的集成更加无缝。您基本上可以将您的应用程序放在类路径中,然后以真正的Java 方式在Servlet
类中导入/访问/使用它:
YourApplication app = new YourApplication();
Result result = app.doStuff();
// ...
为了能够运行 JSP/Servlet(JSP 最终实际上也是一个 Servlet),您需要 Servlet API 的具体实现(整个 Java EE 只是一个抽象规范)。Apache Tomcat是很好的开始,另一个流行的替代品是Eclipse Jetty。这些是实现 Servlet API 的“简单”servletcontainers,Jetty 是一种更嵌入式的方法(您可以将其配置为“普通”Java 应用程序并将其运行)。但是,如果您还需要支持/涵盖 Java EE API 的其他方面,那么您需要一个应用程序服务器,例如Sun Glassfish或JBoss AS(顺便说一下,它们都使用 Tomcat 作为 servletcontainer 部分)。
要了解有关 JSP/Servlet 的更多信息,我可以推荐Coreservlets.com 教程。