0

它是如此令人困惑。不知道这里发生了什么:

我想部署一个简单的 WAR 项目。两个 HttpServlet,一个只是将请求转发给另一个:

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

当我尝试在表单上设置一些值时,它在没有调度程序的情况下工作得很好,但是当我尝试这个示例时,我的浏览器无法处理 servlet。它尝试下载文件confirmationservlet.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 回答