• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WTP,JSP,Servlet)

WTPを使った開発においてJSP画面からServletが呼び出せない問題

このQ&Aのポイント
  • WTPを使用して開発している中で、JSP画面からServletを呼び出す際に問題が発生しています。HTTPステータス404エラーが表示され、正常にServletが呼び出されません。
  • 問題の原因として、JSP画面のformタグ内のaction属性が誤って指定されている可能性が考えられます。正しいパスを指定することで問題が解決する可能性があります。
  • また、Servletの他のJSPファイルに対しては正常に動作することから、問題はJSP画面からのServlet呼び出しに関連していると考えられます。情報が不足している場合は、追加情報を提供していただけると助かります。

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

  • ベストアンサー
noname#94983
noname#94983
回答No.2

サーブレットを作成した際、web.xmlにサーブレットが自動登録される。その値がどうなっているか確認してみる。web.xmlには<servlet-mapping>というタグがあって、そこに<url-pattern>というのがある。これが、公開されるURIになる。これの値をactionに指定すればいい。 ちなみに、クラスファイルの配置場所は気にしなくていい。WTPはビルドされた生成物の配置場所が特殊で、一般的なサーブレットの作法とは異なっている。だから、これは逆に下手に触らないほうがいい。

sevenup56
質問者

お礼

ご回答ありがとうございます。 なるほど。クラスファイルの配置場所を気にしなくていいのはこのweb.xmlにマッピングされているからなのですね。 url-patternを見てみると、「/Servlet」と書かれていました。 どうやらパッケージが書かれていないのが原因かと。パッケージなしのクラスを作成してみると、動いたっぽいのでそれでやってみようかと思います。 ちなみにActionにはurl-patternに書かれている「/Servlet」ではなく「Servlet」と書いたら動いたっぽいです。

その他の回答 (1)

  • aoi2008
  • ベストアンサー率42% (6/14)
回答No.1

こんにちは コンパイルしたクラスファイルを置く場所がおかしいのと、 web.xmlにServletを登録してないんじゃないでしょうか?

sevenup56
質問者

お礼

ご回答ありがとうございます。 コンパイルしたクラスの置き場所は特に変えたわけでもなく、WTPそのままの設定なので問題ないかと思っています。 web.xmlを見てみます!

関連するQ&A

専門家に質問してみよう