Servlet 中的 sendRedirect 方法

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() 方法的语法

**public void** sendRedirect(String URL) **throws** IOException;

sendRedirect() 方法的示例

 response.sendRedirect("[http://www.javatpoint.com](http://www.javatpoint.com/)");

sendRedirect 方法在 servlet 中的完整示例

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

DemoServlet.java

import java.io.*;  
import javax.servlet.*;  
import javax.servlet.http.*;  
  
public class DemoServlet extends HttpServlet{  
public void doGet(HttpServletRequest req,HttpServletResponse res)  
throws ServletException,IOException  
{  
res.setContentType("text/html");  
PrintWriter pw=res.getWriter();  
  
response.sendRedirect("http://www.google.com");  
  
pw.close();  
}}  

使用 sendRedirect 创建自定义谷歌搜索

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

index.html

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="ISO-8859-1">  
<title>sendRedirect example</title>  
</head>  
<body>  
  
  
<form action="MySearcher">  
<input type="text" name="name">  
<input type="submit" value="Google Search">  
</form>  
  
</body>  
</html>  

MySearcher.java

import java.io.IOException;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
public class MySearcher extends HttpServlet {  
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
  
        String name=request.getParameter("name");  
        response.sendRedirect("https://www.google.co.in/#q="+name);  
    }  
}  

输出:
sendredirectoutput1.jpg

sendredirectoutput2.jpg

标签: java, Java Servlet, Java Servlet语言, Java Servlet开发, Java Servlet语法, Java Servlet脚本, Java Servlet教程, Java Servlet入门, Java Servlet入门教程, Java Servlet进阶, Java Servlet宝典, Java Servlet学习, Java Servlet指南, Java Servlet大全