如何解决从Servlet到JSP的response.sendRedirect似乎不起作用
|| 我正在编写一个客户端服务器程序。我正在从Android手机发送一个arraylist,我也能够接收该列表。之后,我希望servlet使用response.sendRedirect()
重定向到demo.jsp
,但是它不会重定向。也尝试过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\");
这是怎么引起的,我该如何解决?
解决方法
我发布此答案的原因是,得票最多的人使我误入歧途。要从servlet重定向,只需执行以下操作:
response.sendRedirect(\"simpleList.do\")
在这个特定问题中,我认为@MD正确解释了问问者为什么会遇到问题,但由于这是在Google搜索“从Servlet重定向”时的第一个结果,因此我认为有一个可以帮助大多数人的答案,而不仅仅是原始的提问者。
, 而不是使用
response.sendRedirect(\"/demo.jsp\");
它将永久重定向到绝对URL路径,
而是使用RequestDispatcher
。例:
RequestDispatcher dispatcher = request.getRequestDispatcher(\"demo.jsp\");
dispatcher.forward(request,response);
, 由于您已经发送了一些数据,
System.out.println(\"going to demo.jsp\");
您将无法发送重定向。
, 您可以使用此:
response.sendRedirect(String.format(\"%s%s\",request.getContextPath(),\"/views/equipment/createEquipment.jsp\"));
最后一部分是您在网络应用中的路径
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。