1. 使用 HttpServletResponse 对象的 sendRedirect 方法:
- 在处理请求的 Servlet 中,可以使用 sendRedirect 方法将请求重定向到指定的 URL。
response.sendRedirect("http://www.example.com/newPage.jsp");
- 或者,相对于当前应用程序的路径:
response.sendRedirect("relativePath/newPage.jsp");
2. 传递参数:
- 如果需要在重定向的页面中传递参数,可以将参数添加到 URL 中,并在目标页面中获取这些参数。
String username = "JohnDoe";
response.sendRedirect("newPage.jsp?username=" + username);
- 在新的页面中获取参数:
String username = request.getParameter("username");
3. 在 JSP 页面中使用重定向:
- 可以在 JSP 页面中使用 <c:redirect> 标签实现重定向。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:redirect url="http://www.example.com/newPage.jsp" />
- 或者,相对于当前应用程序的路径:
<c:redirect url="relativePath/newPage.jsp" />
4. 在 Filter 中使用重定向:
- 如果希望在请求到达 Servlet 之前或之后执行重定向,可以使用 Filter。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 在 Servlet 前执行的逻辑...
((HttpServletResponse) response).sendRedirect("newPage.jsp");
// 或者在 Servlet 后执行的逻辑...
}
注意:使用重定向时,浏览器会收到一个新的 URL,并发起新的请求。与请求转发不同,重定向会导致浏览器地址栏的 URL 发生变化。因此,重定向常用于从一个 Web 应用程序的某个部分导航到另一个部分,或者在处理表单提交后将用户重定向到一个结果页面。
转载请注明出处:http://www.zyzy.cn/article/detail/13650/Servlet