Servlet 中的 SendRedirect

17 Mar 2025 | 阅读 2 分钟

HttpServletResponse 接口的 sendRedirect() 方法可用于将响应重定向到另一个资源,它可以是 Servlet、JSP 或 HTML 文件。

它接受相对 URL 以及绝对 URL。

它在客户端工作,因为它使用浏览器的 URL 栏来发出另一个请求。 因此,它可以在服务器内部和外部工作。


forward() 和 sendRedirect() 方法的区别

RequestDispatcher 的 forward() 方法和 HttpServletResponse 接口的 sendRedirect() 方法之间有很多区别。 它们如下所示

forward() 方法sendRedirect() 方法
forward() 方法在服务器端工作。sendRedirect() 方法在客户端工作。
它将相同的请求和响应对象发送到另一个 Servlet。它总是发送一个新请求。
它只能在服务器内部工作。它可以在服务器内部和外部使用。
示例:request.getRequestDispacher("servlet2").forward(request,response);示例:response.sendRedirect("servlet2");

sendRedirect() 方法的语法

sendRedirect() 方法的示例


Servlet 中 sendRedirect 方法的完整示例

在此示例中,我们将请求重定向到 google 服务器。 请注意,sendRedirect 方法在客户端工作,这就是为什么我们可以将我们的请求发送到任何地方。 我们可以在服务器内部和外部发送我们的请求。
DemoServlet.java

使用 sendRedirect 创建自定义 google 搜索

在此示例中,我们使用 sendRedirect 方法将请求连同请求数据一起发送到 google 服务器。

index.html
MySearcher.java


输出

sendredirect in servlet example 1
sendredirect in servlet example 2
下一个主题Servletconfig 示例