重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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のときには出来るのですが相対パスにすると出来ません。

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

A 回答 (2件)

><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番ポートへのアクセスになります。

この回答への補足

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

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

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

補足日時:2007/05/29 22:08
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/05/30 10:46

Webアプリケーションルートディレクトリは


http://サーバ名:8080/Context名/サブディレクトリ/bbb.jsp

HTMLフォームのaction先は
<Form action="/Context名/サブディレクレトリ/bbb.jsp......
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2007/05/30 10:56

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