Java Servlet请求重定向的方法

网友投稿 277 2022-11-14


Java Servlet请求重定向的方法

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

它接受相对和绝对URL。

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

1 转发和重定向的区别

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

forward()方法

sendRedirect()方法

forward()方法在服务器端起作用。

sendRedirect()方法在客户端运行。

只有1个请求。转发到另一个Servlet的请求和原来请求是同一个。

每次重定向都有2个请求。重定向到另一个Servlet的请求是由浏览器重新发出的新请求。

只能转发到当前服务器内部的资源。

重定向可以请求当前服务器内部的资源或者外部服务器资源。

示例:request.getRequestDispacher("servlet2").forward(request,response);

示例:response.sendRedirect(" servlet2");

2 重定向的示例

在下面示例中,我们将请求重定向到百度。注意sendRedirect方法在客户端工作,这就是为什么我们可以将请求发送到任何地方的原因。我们可以在服务器内外发送请求。

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;charset=utf-8");

PrintWriter pw=res.getWriter();

res.sendRedirect("http://baidu.com");

pw.close();

}

}

3 重定向创建自定义百度搜索

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

3.1 编写搜索表单

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

3.2 编写SearchServlet

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class SearchServlet extends HttpServlet{

public void doGet(HttpServletRequest req,HttpServletResponse res)

throws ServletException,IOException

{

String name=req.getParameter("name");

res.sendRedirect("https://baidu.com/s?wd="+name);

}

}

3.3 配置web.xml

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

version="3.1">

SearchServlet

SearchServlet

SearchServlet

/search

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

version="3.1">

SearchServlet

SearchServlet

SearchServlet

SearchServlet

SearchServlet

/search

3.4 运行测试

输入搜索关键词,点击百度搜索,效果如下:

以上就是使用Java Servlet请求重定向的详细内容,更多关于Java Servlet请求重定向的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java Servlet 运行原理分析
下一篇:springboot异常处理的基本规范
相关文章

 发表评论

暂时没有评论,来抢沙发吧~