java - 我如何在没有 Tomcat 的情况下在 Apache 2.2 上运行 Java 应用程序?

标签 java apache tomcat

我正在使用不使用 JSP 或 servlet 的 Java 构建 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!");
    }
}

然后是执行Java类的脚本文件(HelloWorld.shtml - 不要忘记执行权限)

#!/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 调用。但是,是的,这是可能的。

关于java - 我如何在没有 Tomcat 的情况下在 Apache 2.2 上运行 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17034862/

相关文章:

java - 如何清除NoClassDefFoundError

python - 如何更改 mod_python 使用的 python 版本

apache - 在 Tomcat 前面有一个 apache 网络服务器的原因是什么?

java - Prowide-Core Library - 无法在 MT564 swift 消息中获取序列 E 标签

java - 在android中比较包含时间的字符串与系统时间

java - 为什么这个程序打印 "Hello"? (Java中函数指针如何转换为Runnable.run())

linux - 在Linux上更改apachectl

apache - 如何在apache服务器上运行cgi脚本

java - Apache Tomcat JDBC 连接池在批处理\批量插入时性能不佳

spring - 外部化 application.properties