Servlet请求重定向如何在Java中实现

  介绍

这篇文章将为大家详细讲解有关Servlet请求重定向如何在Java中实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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

它接受相对和绝对URL。

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

<强> 1转发和重定向的区别

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

向前()方法sendRedirect()方法向前()方法在服务器端起作用.sendRedirect()方法在客户端运行。只有1个请求。转发到另一个Servlet的请求和原来请求是同一个。每次重定向都有2个请求。重定向到另一个Servlet的请求是由浏览器重新发出的新请求。只能转发到当前服务器内部的资源。重定向可以请求当前服务器内部的资源或者外部服务器资源。示例:request.getRequestDispacher (“servlet2") forward格式(请求、响应);示例:response.sendRedirect (“servlet2");

<强> 2重定向的示例

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

进口. io . *;
  进口javax.servlet。*;
  进口javax.servlet.http。*;
  
  
  公开课DemoServlet扩展HttpServlet {
  
  公共空doGet (HttpServletRequest点播,HttpServletResponse res)
  抛出ServletException, IOException
  {
  res.setContentType (“text/html; charset=utf-8");
  PrintWriter pw=res.getWriter ();
  
  res.sendRedirect (“http://www.baidu.com");
  
  pw.close ();
  }
  }

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

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

<强> 3.1编写搜索表单

& lt; % @页面contentType=皌ext/html; charset=UTF-8"语言=癹ava"%比;   & lt; html>   & lt; head>   & lt;元charset=癠TF-8"祝辞   & lt; title>一点教程网——请求重定向案例& lt;/title>   & lt;元http-equiv=癱ontent-type"内容=拔谋?html"charset=癠TF-8"比;   & lt;/head>   & lt; body>   action=& lt;形式“search"祝辞   & lt;输入类型=皌ext"name=皀ame"比;   & lt;输入类型=皊ubmit"值=https://www.yisu.com/zixun/卑俣人阉?>   

<强> 3.2编写SearchServlet

进口. io . *;
  进口javax.servlet。*;
  进口javax.servlet.http。*;
  
  
  公开课SearchServlet扩展HttpServlet {
  
  公共空doGet (HttpServletRequest点播,HttpServletResponse res)
  抛出ServletException, IOException
  {
  字符串名称=req.getParameter (“name");
  res.sendRedirect (“https://www.baidu.com/s& # 63; wd=?名字);
  }
  }

<强> 3.3,配置网络。xml

& lt;及# 63;xml version=?.0”;编码=癠TF-8", # 63;比;   http://xmlns.jcp.org/xml/ns/javaee" & lt; web xmlns=?;   xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance"   xsi: schemaLocation=癶ttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"   version=?.1“比;      & lt; servlet>   & lt; servlet-name> SearchServlet   & lt; servlet-class> SearchServlet   & lt;/servlet>   & lt; servlet-mapping>   & lt; servlet-name> SearchServlet   & lt; url-pattern>/search   & lt;/servlet-mapping>         & lt;/web-app>

<强> 3.4运行测试

 Servlet请求重定向如何在Java中实现

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

 Servlet请求重定向如何在Java中实现

关于Servlet请求重定向如何在Java中实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

Servlet请求重定向如何在Java中实现