JSP またはサーブレットを使用しない Java を使用して Web サービスを構築しており、Tomcat をインストールして構成することなく、Apache HTTP サーバーで実行したいと考えています。これは(簡単に)可能ですか?
私はこれに関する情報を探していましたが、私が見つけた唯一のものは 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 呼び出しを管理するためのより優れた方法が必要になる可能性があるため、これは複雑になります。しかし、はい、それは可能です。
まず第一に、サーブレットは Web 開発のための Java のまさに基本です。したがって、Web サービスなど、どのような Web 開発を行う場合でも、Tomcat などのサーブレット コンテナーが必要になります。
したがって、あなたの質問に対する答えは、サーブレット コンテナーではないため、「Apache HTTP サーバーでのみ実行することはできません」です。
あなたが何をしたいのかは完全には明らかではありませんが、HTTP 要求を処理して Apache 経由で公開できるスタンドアロンの Java アプリケーションを実行したいと考えていると思います。その場合は、mod_proxy を使用して Apache を構成することで実行できます。 これは、これを行う方法の適切な例かもしれません。
いいえ、Tomcat、jetty、jboss、または Glassfish はほぼ必須です