アプリ版:「スタンプのみでお礼する」機能のリリースについて

WTPを使って開発をしています。
設定まではうまくいきました。
一応環境をお知らせします。
・WindowsVista
・WTP
・Tomcat6.0
・Java6.0

○実現したい事
JSP画面のフォームから送信ボタンでServletを呼ぶ。

○困っていること
JSP画面からServletが呼べない。
どうも
<form method="post" action="com.Servlet">
のactionの指定が間違っているようです。

○ソース環境
JSP : ルート/WebContent/JSP画面
Servlet : ルート/src/com/Servlet.java
class : ルート/build/classes/com/Servlet.class

○エラー
HTTPステータス 404 - /ルート/com.Servlet

Actionの指定をいろいろと試したのですがダメでした。
Sevletの代わりにJSP画面と同じフォルダ内の他のJSPファイルを指定したらうまくいってます。

情報が足りなかったらすいません。
どうぞよろしくお願いします。

A 回答 (2件)

サーブレットを作成した際、web.xmlにサーブレットが自動登録される。

その値がどうなっているか確認してみる。web.xmlには<servlet-mapping>というタグがあって、そこに<url-pattern>というのがある。これが、公開されるURIになる。これの値をactionに指定すればいい。

ちなみに、クラスファイルの配置場所は気にしなくていい。WTPはビルドされた生成物の配置場所が特殊で、一般的なサーブレットの作法とは異なっている。だから、これは逆に下手に触らないほうがいい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/09/08 00:46

こんにちは



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

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

お礼日時:2008/09/08 00:34

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