
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のときには出来るのですが相対パスにすると出来ません。
どうしたらいいのでしょうか?
ひょっとしたらとても初歩的なことかもしれませんがご存知の方がいらっしゃいましたらご教授願いたいと思います。

No.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にしてみます。
<form name="form1" method="post" action="http://***.***.**.**:8080/context/bbb.jsp">
・・・・とポート番号とコンテキスト名両方を指定したらバッチリうまくいきました!
クライアントからもちゃんとアクセスでき、表示、DBへの登録全てOKです。
いやっほう!
ARIA9さん、ありがとうございました!!
No.1
- 回答日時:
Webアプリケーションルートディレクトリは
http://サーバ名:8080/Context名/サブディレクトリ/bbb.jsp
HTMLフォームのaction先は
<Form action="/Context名/サブディレクレトリ/bbb.jsp......
>HTMLフォームのaction先は
><Form action="/Context名/サブディレクレトリ/bbb.jsp......
Context名だけを指定した相対パスではファイルが見つかりませんというエラーが出てしまいました。
そこで下記にもあったようにContext名、ポート名を含めてIPアドレスをフルに指定したらバッチリうまくいきました。
fortranxpさんありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jspからServletを呼び、元のjsp...
-
ファイルが更新されない
-
Windowsで作成したJSPがLinuxサ...
-
Tomcatで開発したStrutsアプリ...
-
webアプリを作ってます。エラー...
-
WEB-INF直下のフォルダ
-
ボタンが活性化の場合とは、ボ...
-
グローバルIPアドレスの変更タ...
-
三菱GOTの画面切り替えについて
-
j-axis 腕時計のアラーム止めたい
-
フォーム上で押されたボタンに...
-
腕時計の時報をならないように...
-
javascriptでセッションの削除...
-
漏電遮断器の黄色ボタンと白色...
-
サブミット後、自動的に画面を...
-
遷移元を判定したい!
-
strutsで、JSP→アクションクラ...
-
JSPでソースが表示されてしまう。
-
VB.NET DataReaderが開かれている
-
Servletへフォームから配列を送...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jspからServletを呼び、元のjsp...
-
webアプリを作ってます。エラー...
-
JSPからJSPへ情報を渡せる?
-
jspでbeanを使いたいのです...
-
jsp:paramアクションタグで配列...
-
javascriptでformの送信後、値...
-
Java サーブレット間の値の受渡...
-
JSPが表示できない
-
WEB-INF直下のフォルダ
-
session,requestはjspで未定義...
-
Seaser2のフォルダ構成について
-
struts2 jspファイル直接参照禁...
-
JSPのエラー画面(error.jsp)に...
-
JSPの値により遷移先を変更する
-
Struts:フレーム内JSPからcssフ...
-
JSPの変数受け渡しについて教え...
-
Servlet-JSP間のhidden要素での...
-
jspのクラスのコンパイルエラー
-
1つのフォーム内容を1つのsubmi...
-
検索後のページ再表示初期化
おすすめ情報