AIと戦って、あなたの人生のリスク診断 >>

よくTomcatとApacheの連結と聞いているが、

WinXP + Eclipse3.0 + Tomcat5.0での開発環境では、Apacheは必要なのでしょうか?

よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

TomcatとApacheの連携というのは、Webサーバ(HTMLの)があって、JSP/Servletの呼び出しをする際にポート指定などをすることなくWebサーバからJavaサーバに渡せることを考えるというものなので、別にしてもしなくても大きな影響はないでしょう。


 実際、個人でJSP/Servletの勉強をするというだけなら、Apacheを入れず、Tomcatだけで使っている人も多いと思います。ですから「Apacheが必要か?」ということならば、「必要ではない」です。
 ただし、その場合には、例えばHTMLなどがあってもすべてTomcatで処理することになりますから、サーバに無駄な負担をかけることになりますので、「ApacheなしでTomcatだけで実際にサーバをたてる」のはおすすめできません。あくまで「開発の段階では・・」ということで。
    • good
    • 0
この回答へのお礼

ありがとうございました。いい参考になりました。

お礼日時:2005/04/26 20:43

開発環境では今も昔もApacheは不要だと思います。


運用する本番環境ではApache+Tomcatのように、Webサーバとサーブレットコンテナを分けたほうが、融通が利いて良いと思いますが、
Webアプリケーションの動作確認やデバッグが目的であれば、TomcatのもつWebサーバ機能で十分だと思います。

開発環境は、tigasakiさんのような環境。
テスト・検証機は、Apache+Tomcatのような本番と同じような環境
本番機は、テスト・検証機と同じソフトウェア構成で、ハードが違うみたいな感じ。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/04/26 20:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qtomcatとapacheを何で一緒に使いますか?

お疲れ様です。

tomcatとapacheを何で一緒に使いますか?
tomcatはjavaのjsp エンジン、apacheはphpのエンジンですね。
web サーバーとしてxampp 1.6.3a (apache+tomcat) と言う
サーバーを使う事がありますが、なんでapacheとtomcatを
一緒に使いますか。javaとphpを同時に使えますか。
何をするつもりでしょうか。何でそうしますか。

お答え宜しくお願いいたします。

Aベストアンサー

まず初めに、PHPのエンジンは「Zendエンジン」です。ただし、ZendエンジンはApacheと同じサーバマシン内で使用するようになっており、それがまた「小規模用途向き」と言われる所以でもあります。

>tomcatとapacheを何で一緒に使いますか?

負荷分散させるためであり、これがまたJ2EEは「大規模用途向け」と言われる所以でもあります。詳細は、以下のサイト内の図3つを参照してみてください。PHPと違って、Javaでは各サーバソフト(Apache,Tomcat,JBoss,・・)ごとに、ハードウェア(サーバマシン)を分けることが出来ます。もちろん、各サーバソフトは、それ専用のCPUやメインメモリやHDDを備えるということですね。

Javaアプリケーションサーバのクラスタリング機能比較
第7回:Javaアプリケーションサーバのパフォーマンス比較
http://www.thinkit.co.jp/free/compare/14/7/1.html

Tomcat自体にも実際には「Webサーバ」としての機能はありますが、専用ソフトに比べるとあまり実用的でなくオプション的な感じの代物です。詳細は、以下のサイト内にも載っています。

Javaの道 > オープンソース > Tomcat -3.Webサーバとの連携
http://www.javaroad.jp/opensource/js_tomcat3.htm

>javaとphpを同時に使えますか。
>何をするつもりでしょうか。何でそうしますか。

「何で」というよりも、それぞれを使い分けていると考えた方がいいかも。現に、ここの「教えて!goo」のサイトでも、通常は過去ログなどの静的コンテンツを利用するだけだったら、URLのアドレスにはhtmlファイルが使われていたりしますよね。

ところが、質問や回答などの動的コンテンツを利用する際には、ファイルの拡張子がphp3ファイルに変わります。

そんでもって、この質問の上の方にある「ウェブ検索」(「友達に紹介」や」「ブックマーク」の隣にあり、マウスを近づけると水色で「このQ&Aについてウェブで検索する」と表示される所。)をクリックすれば、画面が切り替わり、gooのウェブ検索結果のページに遷移します。(ファイル名はweb.jspで、?から右側のクエリーは、質問のタイトルがエンコードされた形でずら~っと表示されている。)

PHPやJavaのどっちかに統一するんじゃなくって、ただ単に既存のシステムをそのまま利用しているだけだと思います。

まず初めに、PHPのエンジンは「Zendエンジン」です。ただし、ZendエンジンはApacheと同じサーバマシン内で使用するようになっており、それがまた「小規模用途向き」と言われる所以でもあります。

>tomcatとapacheを何で一緒に使いますか?

負荷分散させるためであり、これがまたJ2EEは「大規模用途向け」と言われる所以でもあります。詳細は、以下のサイト内の図3つを参照してみてください。PHPと違って、Javaでは各サーバソフト(Apache,Tomcat,JBoss,・・)ごとに、ハードウェア(サーバマシン)を分ける...続きを読む

QTomcatは起動しますが初期index画面が表示できません

Tomcatについての質問は多数寄せられておりますが、
それらを参考にしてインストールなど行いますが、
どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。
どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。

Tomcat5.0をWindowsXPで起動しております。
Javaはj2sdk1.4.1_02です。
通常インストールした後Startup.batを起動し、IE6.0で
http://localhost:8080もしくは
http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に
Connection refused
--------------------
Description: Connection refused
と表示されてしまいます。

下記に参考になるかわかりませんが、各種起動状態を記載いたします。アドバイスよろしくお願い申し上げます。

◆コマンドプロンプトで
>ping localhostと入力すると、
-----
Pinging yamamoto [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
-----

と表示されます。また、
>telnet localhost 8080の場合は
-----
接続中: localhost...ホストへ接続できませんでした。 ポート番号 8080: 接続に失敗し
ました
-----
と表示されます。

お手数ですが、よろしくお願い申し上げます。

Tomcatについての質問は多数寄せられておりますが、
それらを参考にしてインストールなど行いますが、
どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。
どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。

Tomcat5.0をWindowsXPで起動しております。
Javaはj2sdk1.4.1_02です。
通常インストールした後Startup.batを起動し、IE6.0で
http://localhost:8080もしくは
http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に
Connection re...続きを読む

Aベストアンサー

>Tomcatは起動しますが
とのことですが、Tomcatが起動していないと思います。

pingが通るのはTomcatと無関係で、PCが立ち上がっていれば帰ってくると思います。

telnet localhost 8080
で接続できないとのことなので、Tomcatが起動できていないのではないでしょうか?

Qtomcatにapacheを連携させるのは何のため?

以前、仕事でローカル開発環境としてtomcatを使用していました。
今家でtomcatを動かしてみよう、とwebでマニュアルを探したら、たいていtomcat+apacheで説明されています。
tomcatもwebサーバーの機能があるのに、わざわざapacheやIISとわざわざ連携させるのは何のためですか?
また、IISだけでもwebサーバー+アプリケーションサーバーとして機能するのに、tomcatと連携させるのは何のためでしょう。
よろしくお願いします。

Aベストアンサー

>tomcatもwebサーバーの機能があるのに、わざわざapacheやIISとわざわざ連携させるのは何のためですか?

WEBサーバとしての機能の豊富さ、安定性、信頼性があるからです。
WEBシステムにおいてその中心となるWEBサーバの性能は重要です。
確かにTOMCATにもWEBサーバ機能がありますが、実務レベルで考えると信頼性や機能性の高いApacheを選択する場合が多いでしょう。
また、既存のサーバとしてApacheを利用している場合も多いため、Servletコンテナとしての機能のみを追加するといった用途が多いのも事実です。

>また、IISだけでもwebサーバー+アプリケーションサーバーとして機能するのに、tomcatと連携させるのは何のためでしょう。
IISってJAVAに対応してました?
ASPを利用したアプリケーションサーバならわかりますが、TOMCATはJAVAを利用したアプリケーションサーバです。
IISでJAVAのアプリケーションサーバを構築する場合なら必要でしょう。

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

QdoGetとdoPostの違い

それぞれブラウザからのリクエストの種類に対応する
メソッドがdoGet,doPost。
doGetはブラウザからGETでそのサーブレットに
リクエストがあった時に、処理が始まるメソッド、
doPostは同じようにPOSTを受け取った時に動き出す

・・・・・ということなのですが、
doGetもdoPostも、中身のコーディングの仕方としては
同様でいいのでしょうか?
いま、doGetでリクエストに対応する処理をうけつけて
いるのですが、255バイトまでなのでdoPostのほうが
いいということがかかれていました。

これは、ブラウザ:Servletのメソッドで対応してれば
いいだけで、結局は送信量の違いだけですか?
そのへんがよくわかってないので教えてください。

ちなみに、doGetでやってる処理は、

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

//Bean(workBean)のインスタンス作成
wk = new work_Bean();
//Bean処理実行
wk.Work();





//BeanをJSPに渡すためにHttpServletRequestオブジェクトにセット
request.setAttribute("wk",wk) ;

//ViewであるJSPを呼び出す
RequestDispatcher rDispatcher =
request.getRequestDispatcher("/kanri_JSP.jsp");
rDispatcher.forward(request,response);

こんなかんじでしてます。
あとは、ネットで、人のサンプルとかみると
doGetメソッドに処理をかいており、doPostでは
doGet(request,response);として
doGetをよんでたりするんですが、
これは、PostでもGetと同様の処理ができると
いうことですか?
基本的な質問過ぎるかとおもいますがおしえてください。

それぞれブラウザからのリクエストの種類に対応する
メソッドがdoGet,doPost。
doGetはブラウザからGETでそのサーブレットに
リクエストがあった時に、処理が始まるメソッド、
doPostは同じようにPOSTを受け取った時に動き出す

・・・・・ということなのですが、
doGetもdoPostも、中身のコーディングの仕方としては
同様でいいのでしょうか?
いま、doGetでリクエストに対応する処理をうけつけて
いるのですが、255バイトまでなのでdoPostのほうが
いいということがかかれていました。

これは、ブ...続きを読む

Aベストアンサー

GET と POST では、パラメータをプログラムに渡す仕組みが全く違います。
仕組みが違うので渡せるパラメータの大きさが違う、等の違いが出てきます。

ですが、Servlet では、その違いを request オブジェクトが全部隠してくれて
いるので、気にしなくて良いです。つまり、同じことができて、呼出され方が
違う、と。

普通は、html や JSP の方も、Servlet を意識して書くでしょうから、
どちらかだけの実装で良いのですが、汎用的(呼ぶ人を特定しない)な Servlet
を書こうと思ったら、両方を実装しておく、と理解しておけば良いです。


ちなみに、GET で渡せるパラメータの大きさは 255 バイトと決っているわけでは
ないし、POST で渡せるパラメータの大きさに制限が無い、というわけでもあり
ません。

GET の制限は、どちらかというとブラウザ側の実装によって決ってくることで、
POST に制限があるとしたらサーバ側(例えば、Servlet コンテナ)の実装に
よってきます。

QJSPの処理の途中で、JavaScriptの処理をしたい

プログラムをJSPで記述している(<% %>タグ)のですが、
JavaScriptのalertやconfirmなどのポップアップするダイアログを
表示したいのです。それは可能なのでしょうか?

Aベストアンサー

No.2の回答に対する回答(変な日本語ですが)です。

JSPとJavaScriptの処理の行われる順番について考えていないと
エラーになることがありますよ。
大まかな流れは、
 JSPのソースをサーバ側で解釈、実行する(HTMLのソースを吐き出す)
  ↓
 クライアントに生成したソースを送信する
  ↓
 クライアント側のブラウザがソースを解釈する
  ↓
 ソースの中のJavaScriptを、ソースの上のほうから順次実行する
  ↓
 同時に、通常の表示(HTMLの解釈)も実行される

 と、こういう流れですので、例えば、JavaScriptで値を入力し、
JSPでその値を使おうとすると、エラーとなります。

 具体的にやりたいこと(やろうとしていること)を書いていただいたほうが
適切に回答できますが、上記が今考えられるエラーの原因です。

Q1文字って1バイトだったっけ?

タイトルの通りなんですが
私の記憶では1文字1バイトで漢字が2バイトだったような・・・。
アルファベットは?数字は?わかんないので教えてください。
それと、1バイト=8ビットですよね?
ちょっと興味があるので暇のある方がおられましたら詳しく教えてほしいです。

よろしくおねがいいたします。

Aベストアンサー

全角文字(英語・漢字・数字問わず):2バイト
半角文字:1バイト
では無いでしょうか?

>1バイト=8ビット
その通りです

http://www.pc-view.net/Help/manual/0082.html
などもありますので参考までに

参考URL:http://www.pc-view.net/Help/manual/0082.html

QOracle 2つのDate型の値の差を「分」で取得したい

DBはOracleを使用しています。
Date型の項目AとBがあり、それぞれ日時が設定されています。そのAとBの日時の差を「分」で取得したいと思います。
AとBは、1時間以内の場合もあれば、複数日にまたがる場合もあります。
SQLでA-Bで差分は取得できるのですが、その後、どうすれば、「分」に変換できるのかがわかりません。

よろしくお願いします。

例1)
A: 2003/06/18 9:00
B: 2003/06/18 6:00
→3時間→180「分」を返却したい

例2)
A: 2003/06/18 9:00
B: 2003/06/16 9:00
→2日→2880「分」を返却したい

Aベストアンサー

date型は、整数部で日、小数部で時間を管理しています。
なんで、1分 = 1 / 24 * 60 = 1/1440となります。

ということで、
(B - A) * 1440

とすればいいことになります。

Q「づつ」?「ずつ」?

今、ワードを使っていて壁にぶつかりました。
恥ずかしながら「~を一つずつ(づつ)あたえる」と入力したいのですが「づつ」と「ずつ」どちらが正解なのでしょうか?
あと「わかる」と言う漢字も、「分かる」「解る」「判る」と色々あってどちらを使って良い物か分からない場合が多いです・・・・社会人としてお恥ずかしい

Aベストアンサー

(1) 「ず」と「づ」は歴史的には発音が違っていましたが、現代では発音上の区別がありません。したがって、『現代仮名遣い』(昭和61年7月1日 内閣告示第1号)では、いくつかの例外を除いて、「づ」を用いないように定めています。ご質問のお答えは、「ずつ」が正解です。

(2) 「分かる」「解る」「判る」は、それぞれ意味が少し違います。
【解る】理解する。ことの筋道がはっきりする。
【判る】判明する。明らかになる。
【分かる】上二つの意味を併せたいい方。
『常用漢字音訓表』(昭和56年10月1日内閣告示)に、「分かる」はあるのですが、「解る」と「判る」は載っていません。「解」も「判」も常用漢字表には含まれていますが、「わかる」という読み方が載っていないのです。新聞やテレビなどのマスコミが「分かる」を優先的に使う理由はそこにあります。
質問者さんが公務員で、公文書を作成されるなら、「分かる」に統一する必要があります。民間の文書や私信なら、「分かる」「解る」「判る」を使い分けて、日本語の奥ゆかしさを味わいたいものです。

Q「ご連絡いたします」は敬語として正しい?

連絡するのは、自分なのだから、「ご」を付けるのは
おかしいのではないか、と思うのですが。
「ご連絡いたします。」「ご報告します。」
ていうのは正しい敬語なのでしょうか?

Aベストアンサー

「お(ご)~する(いたす)」は、自分側の動作をへりくだる謙譲語です。
「ご連絡致します」も「ご報告致します」も、正しいです。

文法上は参考URLをご覧ください。

参考URL:http://www.nihongokyoshi.co.jp/manbou_data/a5524170.html


人気Q&Aランキング