如何在没有Tomcat的情况下在Apache 2.2上运行Java应用程序?
我正在用Java构建一个不使用JSP或servlet的Web服务,并希望在我的Apache HTTP服务器上运行它,而无需安装和配置Tomcat。这是否可能(容易),我该怎么做?
我一直在搜索有关这方面的信息,我遇到的唯一一件事是mod_jk Tomcat连接器,它仍然需要安装Tomcat。我错过了什么吗?
我正在用Java构建一个不使用JSP或servlet的Web服务,并希望在我的Apache HTTP服务器上运行它,而无需安装和配置Tomcat。这是否可能(容易),我该怎么做?
我一直在搜索有关这方面的信息,我遇到的唯一一件事是mod_jk Tomcat连接器,它仍然需要安装Tomcat。我错过了什么吗?
当然,这是可能的。你可以用mod_cgi来做。
一个非常简单的例子是这样的:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello Java CGI world!");
}
}
然后是一个脚本文件(HelloWorld.shtml -不要忘记执行权限),用于执行 Java 类
#!/bin/bash
echo "Content-type: text/html"
echo ""
/usr/bin/java HelloWorld
在 Apache conf 中,只需定义脚本目录,如下所示:
ScriptAlias /cgi-bin/ /Users/hectorsuarez/Proyectos/test/cgi-bin/
<Directory "/Users/hectorsuarez/Proyectos/test/cgi-bin">
SetHandler cgi-script
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
就是这样!。这是一个非常简单和微不足道的例子。
这将变得复杂,因为您可能需要一个模板引擎和一种更好的方法来管理传入的CGI呼叫。但是,是的,这是可能的。
首先,Servlets 是 Java for Web 开发的基础知识。所以,无论你在做什么Web开发,比如Web服务,你都需要一个Servlet容器,如Tomcat。
所以你的问题的答案是“你不能只在Apache HTTP Server上运行它”,因为它不是Servlet容器。