我正在使用Java构建一个不使用JSP或servlet的Web服务,并希望在我的Apache HTTP服务器上运行,而无需安装和配置Tomcat。这可能吗(容易),我该怎么做?
我一直在搜索有关此问题的信息,但我找到的唯一一件事是mod_jk Tomcat连接器,它仍然需要安装Tomcat。我错过了什么吗?
我正在使用Java构建一个不使用JSP或servlet的Web服务,并希望在我的Apache HTTP服务器上运行,而无需安装和配置Tomcat。这可能吗(容易),我该怎么做?
我一直在搜索有关此问题的信息,但我找到的唯一一件事是mod_jk Tomcat连接器,它仍然需要安装Tomcat。我错过了什么吗?
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配置文件中,只需定义您的脚本目录,例如这样:
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 Web 开发的基础。所以,无论你进行什么样的 Web 开发,比如 Web 服务,你都需要一个 Servlet 容器,比如 Tomcat。
因此,对于你的问题,答案是“你不能运行它,只能在 Apache HTTP Server 上运行”,因为它不是一个 Servlet 容器。
不是很清楚你想要做什么,但我猜测你想运行一个独立的Java应用程序来处理HTTP请求,并通过Apache公开它。如果是这样,你可以使用mod_proxy配置Apache。这是一个不错的例子(链接)
不,Tomcat、jetty、jboss或Glassfish几乎是必需的