2013-06-11 14 views
13

私は、JSPやサーブレットを使用しないJavaでwebserviceを構築しています。Tomcatをインストールして設定することなくApache HTTPサーバーで実行したいと考えています。これは可能ですか(簡単に)、どうすればいいですか?Tomcatを使わずにApache 2.2でJavaアプリケーションを実行するにはどうしたらいいですか?

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

+1

サーブレットなしでJavaのWebを構築している可能性はほとんどないので、答えはほとんどありません。どうやってサーブレットを使っていないのか説明できるなら、あなたの答えがあるかもしれません。 –

+0

Apacheは、a)静的なコンテンツ(画像、サウンドなど)とb)負荷分散を提供するためにTomcatよりも速いために使用されます。しかし、これはJavaで生成されたコンテンツを提供するTomcatと連携して*行われます。 – SJuan76

+0

はい、あなたは、ホイールを再開発し、Tomcatが既にやっていることをしたいと思うことができます。 _これはTomcatをインストールして設定するより簡単に可能です。 –

答えて

6

まず、サーブレットはWeb開発用のJavaの基本です。ですから、Webサービスのように、あなたがやっているWeb開発が何であれ、TomcatのようにServlet Containerが必要です。

サーブレットコンテナではないので、あなたの質問に対する答えは「Apache HTTP Serverでしか実行できません」です。

0

はありませんが、Tomcatは、桟橋は、JBossやGlassfishのは、あなたが何をしたいのか全く明らかではない

3

ほとんど必須ですが、私はあなたがスタンドアロンのJavaアプリケーションを実行することを推測するつもりですこれはHTTPリクエストを処理してApache経由で公開することができます。そのような場合は、mod_proxyを使用してApacheを設定することでそれを行うことができます。 Thisは、これがどのように実行できるかのまともな例かもしれません。

11

もちろん可能です。あなたはmod_cgiを使ってそれを行うことができます。

非常に簡単な例は次のように次のようになります。その後、

public class HelloWorld 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello Java CGI world!"); 
    } 
} 

とJavaクラスには

#!/bin/bash 
echo "Content-type: text/html" 
echo "" 

/usr/bin/java HelloWorld 

を実行するスクリプトファイル(HelloWorld.shtml致し実行許可を忘れずに) 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> 

これは私ですt!これは非常に簡単で簡単な例です。

テンプレートエンジンが必要になり、着信CGIコールを管理するための方がはるかに優れているため、これは複雑になります。しかし、はい、可能です。

+2

Perlでこれを避けることは、まずサーブレット(とサーブレットコンテナ)が発明された理由です(「はじめに」というのは1990年代を意味します)。これはスケールされません。 – michael