令人困惑。不要有任何想法在这里发生什么:
我想部署一个简单的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>
答案 0 :(得分:1)
尝试以下方法:
HttpServletResponse#sendRedirect()
发送重定向。
response.sendRedirect("/confirmationservlet.do");