0

とても紛らわしいです。ここで何が起こったのかまったくわかりません:

シンプルな WAR プロジェクトをデプロイしたいと考えています。2 つの HttpServlets。1 つはリクエストを別のサーブレットに転送するだけです。

...
String[] selectedOptionsLabels = ...
req.setAttribute("checkedLabels", selectedOptionsLabels);
try {
   req.getRequestDispatcher("/confirmationservlet.do").forward(req, resp);
}
...

フォームにいくつかの値を設定しようとすると、ディスパッチャがなくてもうまく機能しますが、この例を試してみると、ブラウザがサーブレットを処理できません。ファイル confirmservlet.do のダウンロードを試みます。紛らわしい。

マッピングの問題があるようですが、展開も正常に機能するため、わかりません。

アイデアはありますか?

これは私の web.xml です (外側の web-app-tag はありません) <--- テスト目的のみで、注釈があることを知っています。

<servlet>
    <servlet-name>FormHandlerServlet</servlet-name>
    <servlet-class>
      de.lancom.formhandling.FormHandlerServlet
    </servlet-class>    
</servlet>

<servlet-mapping>
    <servlet-name>FormHandlerServlet</servlet-name>
    <url-pattern>/formhandlerservlet.do</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>ConfirmationServlet</servlet-name>
    <servlet-class>
      de.lancom.formhandling.ConfirmationServlet
    </servlet-class>    
</servlet>

<servlet-mapping>
    <servlet-name>ConfirmationServlet</servlet-name>
    <url-pattern>/confirmationservlet.do</url-pattern>
</servlet-mapping> 

<welcome-file-list>
  <welcome-file>dataentry.html</welcome-file>
</welcome-file-list>
4

1 に答える 1

1

次の方法を試してください。

    HttpServletResponse#sendRedirect()

リダイレクトを送信します。

     response.sendRedirect("/confirmationservlet.do");
于 2013-03-26T10:16:30.200 に答える