Servlet中的SendRedirect用法示例

  1. sendRedirect方法
  2. sendRedirect()方法的语法
  3. RequestDispatcher接口的示例

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

它接受相对和绝对URL。

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


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

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

forward() method sendRedirect() method
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.srcmini02.com");

servlet中sendRedirect方法的完整示例

在此示例中, 我们将请求重定向到Google服务器。注意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创建自定义Google搜索

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

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);
	}
}

下载此示例(在Eclipse中开发)


输出

servlet示例1中的sendredirect
servlet示例2中的sendredirect
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?