码农网

网站首页> 后端开发> Java

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://www.baidu.com");

  pw.close();
 }
}

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

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

3.1 编写搜索表单

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
 <meta charset="UTF-8">
 <title>一点教程网-请求重定向案例</title>
 <meta http-equiv="content-type" content="text/html" charset="UTF-8">
</head>
<body>
<form action="search">
 <input type="text" name="name">
 <input type="submit" value="百度搜索">
</form>
</body>
</html>

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://www.baidu.com/s?wd="+name);
 }
}

3.3 配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
   xmlns:xsi="http://www.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">

 <servlet>
  <servlet-name>SearchServlet</servlet-name>
  <servlet-class>SearchServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>SearchServlet</servlet-name>
  <url-pattern>/search</url-pattern>
 </servlet-mapping>
 

</web-app>

3.4 运行测试

Java Servlet请求重定向的方法

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

Java Servlet请求重定向的方法

以上就是使用Java Servlet请求重定向的详细内容。

servlet请求重定向

本文地址:https://m.manongw.com/article/232.html

文章来源:转载于一点教程,转载网址为http://www.yiidian.com/servlet/servlet-send-redirect.html

版权申明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 ezhongheng@126.com 举报,一经查实,本站将立刻删除。

最近更新
热门素材
html5卡通章鱼素材,几何图形抽象设计

html5卡通章鱼素材,几何图形抽象设计

图片素材

html文字动画特效,文字虚线边框

html文字动画特效,文字虚线边框

文字特效

Bootstrap点击左侧垂直导航菜单全屏网页切换特效

Bootstrap点击左侧垂直导航菜单全屏网页切换特效

导航菜单

js+css3透明渐变风格导航菜单特效

js+css3透明渐变风格导航菜单特效

导航菜单

8款经典的css网站顶部导航栏样式

8款经典的css网站顶部导航栏样式

图片素材

js+css3网站顶部自适应导航栏菜单特效

js+css3网站顶部自适应导航栏菜单特效

图片素材

jQuery自定义添加删除表格行内容特效

jQuery自定义添加删除表格行内容特效

图片素材

jQuery+CSS3漂亮的下拉菜单选择框美化特效

jQuery+CSS3漂亮的下拉菜单选择框美化特效

css3实例

jQuery文字公告无限滚动轮播特效

jQuery文字公告无限滚动轮播特效

css3实例

jQuery+Layui省市区城市三级联动菜单选择特效

jQuery+Layui省市区城市三级联动菜单选择特效

css3实例