1

以下のようなサーブレットマッピングがあります。

 <servlet>
     <servlet-name>SubmitComment</servlet-name>
     <servlet-class>org.rohitsharma.db.servlet.SubmitComment</servlet-class>
 </servlet>
 
 <servlet-mapping>
     <servlet-name>SubmitComment</servlet-name>
     <url-pattern>/SubmitComment</url-pattern>
 </servlet-mapping>

action でフォームを叩いたときSubmitComment。私のローカルホストで動作しました。しかし、実際のホストにアップロードすると、次のようなエラーが発生します。

見つかりません

要求された URL /SubmitComment がこのサーバーで見つかりませんでした。

これらのマッピングを機能させるには、どのように変更すればよいですか?

フォームは次のとおりです。

 <form action="SubmitComment" method="post" id="leavereply">
      <ol><li>
        <label for="name">Name</label>
        <input id="name" name="name" class="text" />
      </li><li>
        <label for="email">Email Address</label>
        <input id="email" name="email" class="text" />
      </li><li>
        <label for="message">Your Message</label>
        <textarea id="message" name="message" rows="8" cols="50"></textarea>
      </li>
        <input type="hidden" id="blog_id" name="blog_id" value="<%out.print(blog.blog_id);%>">
      <li>
        <input type="image" name="imageField" id="imageField" src="images/submit.gif" class="send" />
        <div class="clr"></div>
      </li></ol>
      </form>
4

3 に答える 3

1

HTML を作成するときに、フォームの先頭にactionコンテキスト ルートを追加しますか? クライアントのブラウザにレンダリングされるものは/<context-root>/SubmitComment. ローカル サーバーでは、アプリケーションがデフォルトのコンテキスト ルートにデプロイされているのに、本番環境では別のコンテキスト ルートにデプロイされている可能性があります。

HTML フォームで URL をレンダリングするために使用するコードを示してください。あなたはおそらく<c:url>そこに行方不明です。

于 2012-11-18T19:06:40.523 に答える
0

サーバーの設定の問題でした。コードやマッピングに関連するものはありません。御時間ありがとうございます。私のライブホストの設定の問題でした。ホストを変更したところ、うまくいきました:)

于 2012-12-05T11:53:12.503 に答える