Servlet将重定向发送到欢迎页面?

4
我该如何强制将Servlet重定向到欢迎页面而不必指定确切的路径?就像只需要改变路径到最上层一样:
response.sendRedirect("/");

很明显这是无效的。

7
别忘了上下文路径! - Michael-O
2个回答

11
response.sendRedirect(response.encodeRedirectURL(request.getContextPath() + "/"));

如果你想支持禁用cookie的浏览器(即使用URL重写)进行会话跟踪,那么调用encodeRedirectURL是必要的。


为什么要加上尾部的“/”? - Jaime Hablutzel
因为这是原帖作者想要重定向的地方。 - JB Nizet
我认为原帖中的 / 是作者试图解决问题的一部分,但是 response.sendRedirect(response.encodeRedirectURL(request.getContextPath())); 应该足够且更加简洁,你觉得呢? - Jaime Hablutzel

3
感谢上面的Michael-O,以下是解决方案:
response.sendRedirect(request.getContextPath());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接