从Servlet到JSP的response.sendRedirect()似乎不起作用

zoo*_*ozo 24 redirect servlets

我正在编写客户端服务器程序.我从Android手机发送一个arraylist,我也能收到列表.之后,我希望servlet重定向到demo.jsp使用response.sendRedirect(),但它不会重定向.也试过requestDispatcher.forward().

ObjectInputStream in = new ObjectInputStream((InputStream) request.getInputStream());
List<Double> al=(List<Double>)in.readObject();
in.close();
for(int x=0;x<al.size();x++)
{
    System.out.println("List");
    System.out.println(al.get(x));
}
System.out.println("going to demo.jsp");
response.sendRedirect("demo.jsp");
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

Dan*_*lan 46

我发布这个答案是因为票数最多的人让我误入歧途.要从servlet重定向,只需执行以下操作:

response.sendRedirect("simpleList.do")
Run Code Online (Sandbox Code Playgroud)

在这个特定的问题中,我认为@MD正确地解释了为什么提问者遇到了他的问题,但是因为这是谷歌搜索"从Servlet重定向"时的第一个结果,我认为有一个答案可以帮助大多数人,而不仅仅是原始的提问者.


Buh*_*ndi 15

而不是使用

response.sendRedirect("/demo.jsp");
Run Code Online (Sandbox Code Playgroud)

哪个永久重定向到绝对URL路径,

而是使用RequestDispatcher.例:

RequestDispatcher dispatcher = request.getRequestDispatcher("demo.jsp");
dispatcher.forward(request, response);
Run Code Online (Sandbox Code Playgroud)