我正在编写客户端服务器程序。我从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");
这是如何引起的?如何解决?
答案 0 :(得分:45)
我发布这个答案是因为票数最多的人让我误入歧途。要从servlet重定向,只需执行以下操作:
response.sendRedirect("simpleList.do")
在这个特殊的问题中,我认为@MD正确地解释了为什么提问者遇到了他的问题,但由于这是谷歌搜索“从Servlet重定向”时的第一个结果,我认为有一个答案是很重要的帮助大多数人,而不仅仅是原始的提问者。
答案 1 :(得分:15)
而不是使用
response.sendRedirect("/demo.jsp");
永久重定向到绝对URL路径
而是使用RequestDispatcher
。例如:
RequestDispatcher dispatcher = request.getRequestDispatcher("demo.jsp");
dispatcher.forward(request, response);
答案 2 :(得分:-2)
由于您已经发送了一些数据,
System.out.println("going to demo.jsp");
您将无法发送重定向。
答案 3 :(得分:-2)
您可以使用:
response.sendRedirect(String.format("%s%s", request.getContextPath(), "/views/equipment/createEquipment.jsp"));
最后一部分是您在网络应用中的路径