2013-03-26 113 views
0

它很混乱。没有任何想法发生在这里:RequestDispatcher:Servlet映射不能正常工作

我想部署一个简单的WAR项目。二HttpServlets,一个刚刚将请求转发到另一个问题:

... 
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

remove/from getRequestDispatcher()可能会帮助你。 – AmitG 2013-03-26 09:19:36

+0

没有变化。它不起作用。 :/ – 2013-03-26 09:49:38

回答

1

试试下面的方法:

HttpServletResponse#sendRedirect() 

发送重定向。

 response.sendRedirect("/confirmationservlet.do"); 
+0

好吧,让我纠正一下:在修复了我声明响应内容类型的一个非常愚蠢的错误之后,这对我有效。 – 2013-03-26 12:11:02

+0

很高兴听到队友... – 2013-03-26 12:38:25