20

JSP またはサーブレットを使用しない Java を使用して Web サービスを構築しており、Tomcat をインストールして構成することなく、Apache HTTP サーバーで実行したいと考えています。これは(簡単に)可能ですか?

私はこれに関する情報を探していましたが、私が見つけた唯一のものは mod_jk Tomcat コネクタで、Tomcat をインストールする必要があります。何か不足していますか?

4

4 に答える 4

18

もちろん可能です。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 呼び出しを管理するためのより優れた方法が必要になる可能性があるため、これは複雑になります。しかし、はい、それは可能です。

于 2014-05-29T15:58:09.727 に答える
6

まず第一に、サーブレットは Web 開発のための Java のまさに基本です。したがって、Web サービスなど、どのような Web 開発を行う場合でも、Tomcat などのサーブレット コンテナーが必要になります。

したがって、あなたの質問に対する答えは、サーブレット コンテナーではないため、「Apache HTTP サーバーでのみ実行することはできません」です。

于 2013-06-11T00:38:28.260 に答える
4

あなたが何をしたいのかは完全には明らかではありませんが、HTTP 要求を処理して Apache 経由で公開できるスタンドアロンの Java アプリケーションを実行したいと考えていると思います。その場合は、mod_proxy を使用して Apache を構成することで実行できます。 これは、これを行う方法の適切な例かもしれません。

于 2013-06-11T00:33:37.260 に答える
0

いいえ、Tomcat、jetty、jboss、または Glassfish はほぼ必須です

于 2013-06-11T00:31:32.110 に答える