簡體   English   中英

如何在沒有Tomcat的情況下在Apache 2.2上運行Java應用程序?

[英]How can I run a Java app on Apache 2.2 without 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!");
    }
}

然后是執行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調用。 但是,是的,這是可能的。

首先,Servlets是用於Web開發的Java的基礎知識。 因此,無論您正在進行哪些Web開發,例如Web服務,您都需要一個Servlet容器,如Tomcat。

因此,您的問題的答案是“您無法僅在Apache HTTP Server上運行它”,因為它不是Servlet容器。

目前還不完全清楚你想做什么,但我猜你想要運行一個可以處理HTTP請求並通過Apache公開它的獨立Java應用程序。 如果是這種情況,您可以通過使用mod_proxy配置Apache來實現。 可能是如何做到這一點的一個很好的例子。

不,Tomcat,jetty,jboss或Glassfish幾乎是強制性的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM