こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JSPが表示されません

Apache2+Tomcat4.1+j2sdk1.4.2_06+EclipseでJSPとサーブレットのページを作ろうとしています。
HTMLファイルのフォームの内容をJSPファイルに送り、ServletでDBと参照、登録という流れを作ろうとしています。

aaa.html(ユーザーがデータを入力)
↓(1)フォームの内容を転送
bbb.jsp((2)htmlからの入力をccc.classに中継、(7)返り値を表示)
↓(3)メソッド呼び出し ↑(6)返り値を返す
ccc.class(重複の有無確認やDBへの登録メソッド)
↓(4)SQL ↑(5)結果
DB(PostgresSQL)

本に書いてあるのを真似たらlocalhost上ではちゃんと動くようになりました。
つまり、下記のようにaaa.htmlからの転送先をlocalhost:8080/bbb.jspに指定するとうまく作動します。
<form name="form1" method="post" action="http://localhost:8080/bbb.jsp">

しかしながらこれではローカルでしか使えないので転送先を相対パスで指定したらうまくいきません。
<form name="form1" method="post" action="../bbb.jsp">

外部から参照できるURL(サーバのIPアドレス)でもダメです。
<form name="form1" method="post" action="http://***.***.**.**/bbb.jsp">

症状としては.jspファイルの最初のHTMLの記述はちゃんと動いているようで画面の色等はちゃんと変わります。
<%.....%>で囲まれたJAVAの記述がまったく作動しません。
/work/org/apache/jspに発生する中間ファイルもlocalhostのときには出来るのですが相対パスにすると出来ません。

どうしたらいいのでしょうか?
ひょっとしたらとても初歩的なことかもしれませんがご存知の方がいらっしゃいましたらご教授願いたいと思います。

投稿日時 - 2007-05-29 19:52:02

QNo.3040771

困ってます

質問者が選んだベストアンサー

><form name="form1" method="post" action="../bbb.jsp">
これだと相対パスで1個上を表すからaaa.htmlがbbb.jspの1つ下の階層にないとNG。
おそらくaaa.htmlとbbb.jspは同じディレクトリにあると思うので、その場合は
action="bbb.jsp"
でOK。

><form name="form1" method="post" action="http://***.***.**.**/bbb.jsp">
IP指定しているのは良いけど、ポート番号がないからNG。
httpはポート番号がない場合、80番ポートへのアクセスになります。

投稿日時 - 2007-05-29 21:11:10

補足

自宅に戻ってまいりました。
相対パスの指定はこれでOKのはずです。
aaa.htmlとbbb.jspは上下の階層に分かれています。

繰り返しになりますが.jspファイルのHTML部分はきちんと読み込めています。
エラーは何も表示されず、タグで指定した画面色に画面は変わっています。
.jspファイルが見つからないというわけではないのです。
しかしながら<%............%>の間のjavaの部分が作動しません。

> httpはポート番号がない場合、80番ポートへのアクセスになります。
わかりました。何らかの方法でポート8080にしてみます。

投稿日時 - 2007-05-29 22:08:08

お礼

<form name="form1" method="post" action="​http://***.***.**.**:8080/context/bbb.jsp"​>
・・・・とポート番号とコンテキスト名両方を指定したらバッチリうまくいきました!
クライアントからもちゃんとアクセスでき、表示、DBへの登録全てOKです。
いやっほう!
ARIA9さん、ありがとうございました!!

投稿日時 - 2007-05-30 10:46:58

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Webアプリケーションルートディレクトリは
http://サーバ名:8080/Context名/サブディレクトリ/bbb.jsp

HTMLフォームのaction先は
<Form action="/Context名/サブディレクレトリ/bbb.jsp......

投稿日時 - 2007-05-29 20:09:43

お礼

>HTMLフォームのaction先は
><Form action="/Context名/サブディレクレトリ/bbb.jsp......

Context名だけを指定した相対パスではファイルが見つかりませんというエラーが出てしまいました。
そこで下記にもあったようにContext名、ポート名を含めてIPアドレスをフルに指定したらバッチリうまくいきました。

fortranxpさんありがとうございました!!

投稿日時 - 2007-05-30 10:56:25

あなたにオススメの質問