请求转发

请求转发是服务器行为,即用户向服务器发送了一次http请求,该请求可能会经过多个信息资源处理以后返回给用户,各个信息资源使用请求转发机制互相转发请求,从用户的感官上来看,是感觉不到请求转发的。

请求转发的关键点:

  • 从第一次发送请求到最后一次发送请求的过程中,web容器只创建一次request和response对象,新的页面继续处理同一个请求。
  • 其本质是服务器将request对象在页面之间进行了相互的传递。
  • 可以共用request对象信息。
  • 服务器内部进行的转发
  • 只有一次请求
  • 地址栏不会发生变化
  • 必须是在同一台服务器下完成

代码的实现

//获取请求转发器
RequestDispatcher dispatcher = req.getRequestDispatcher("/myservlet04.do");
//请求转发
dispatcher.forward(req, resp);

请求重定向:

请求是客户端行为(客户端跳转)。服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。它本质上是两次HTTP请求,对应两个request对象。

几个关键问题

  • 有两次请求
  • 地址栏会发生改变
  • HttpServletRequest不能可以在这两次请求中共享数据
  • 可以共享context,session域的数据
  • 可以在不同服务器下完成

代码实现

  • 方式一:设置响应头
resp.setStatus(302);
resp.setHeader("Location", "/myservlet04.do");
  • 方式二:使用servlet提供的api
resp.sendRedirect("myservlet04.do")

转发与重定向的区别

  • 转发在服务器端完成的;重定向是在客户端完成的
  • 转发的速度快;重定向速度慢
  • 转发的是同一次请求;重定向是两次不同请求
  • 转发地址栏没有变化;重定向地址栏有变化
  • 转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

页面跳转问题

方式一:javascript中跳转页面
window.location.href="http://localhost:8080/index.html";
方式二:使用Html中标签来定义页面的元信息
<!-- 5秒钟后跳转到指定页面 -->
<meta http-equiv="refresh" content="5;url=http://www.baidu.com"/>
方式三:请求转发的方式
//获取请求转发器
RequestDispatcher dispatcher = req.getRequestDispatcher("/a=index.html");
//请求转发
dispatcher.forward(req, resp);
方式四:重定向方式
resp.sendRedirect("/a.html")

ajax跳转页面

在success:

 $(window).attr("location","index.html");

请求转发、请求重定向与页面跳转问题相关推荐

  1. 【JavaWeb】Response请求转发与重定向辨析

    请求转发与重定向对比 辨析 请求转发只有一次请求.一次响应,是在服务端内部跳转 重定向有两次请求.两次响应:将结果返回给客户端,让客户端重新发起一次跳转 请求转发的登陆界面实现 login.jsp & ...

  2. 请求转发和重定向的区别_WEB之重定向和请求转发的区别

    一次重定向的过程 我的代码里面已经写好了,redirectAndFoward.jsp页面上有一个表单,表单重定向到redirectAndFowardTarget.jsp,那么这一次的重定向过程为: 1 ...

  3. 请求转发和重定向的区别以及什么时候使用

    请求转发和重定向的区别以及什么时候使用 转发过程(不改变网址) 客户浏览器发送http请求-->web服务器接受此请求-->调用内部的一个方法在容器内部完成请求处理和转发动作-->将 ...

  4. 请求转发和重定向的理解和区别

    请求转发(forward) 一个web资源接收到客户端请求后,通知浏览器去调用另外一个web资源进行处理,称之为请求转发. 转发过程:客户浏览器发送http请求---->web服务器接受此请求- ...

  5. Java 请求转发与重定向

    二者区别: 请求转发不会改变URL(地址值),而重定向则会改变 实现: 请求转发 request.getRequestDispatcher("/Update.jsp").forwa ...

  6. 【Java web】请求转发响应重定向

    文章目录 简介 请求转发 响应重定向 使用时机 简介 请求转发和响应重定向是Java web中两种资源跳转的方式.简单来说,对于完成一次请求需要许多特定的资源(如已经写好的页面或另一个Servlet) ...

  7. 015_请求转发和重定向

    一. 重定向和转发工程 1. 新建一个SendRedirectForward的Web工程 2. 在WebContent下新建index.html和success.html 3. 编写index.htm ...

  8. 浅析请求转发和重定向

    浅析请求转发和重定向 1.请求转发 request.getRequestDispather("/indexServlet").forword(request,response); ...

  9. 【Servlet】请求转发、重定向、Cookie使用之三天自动登陆

    三天自动登陆项目源码:GitHub地址-LoginSystem JDBC 手写SORM框架 手写Servlet 开发环境:Eclipse 一.请求乱码问题解决 // 设置请求.响应编码格式req.se ...

最新文章

  1. BlueTooth: 蓝牙基础知识进阶——链路控制操作
  2. 表单的几个基本常用功能
  3. Spark+hadoop+mllib及相关概念与操作笔记
  4. DropdownList绑定的两种方法
  5. Mach-O 的动态链接(Lazy Bind 机制)
  6. 简单电商购物过程(续1)
  7. SAP财务管控 财务总监背后的“管理大师” PDF下载
  8. [P2387魔法森林
  9. php7性能原理,php7卓越性能背后的原理有哪些?
  10. python request post 数组_[pve][python]用python3获取pve状态信息
  11. linux缺少文件操作数,linux 文件的atime,ctime,mtime查看与修改
  12. Pandas使用小技巧
  13. 基于MATLAB的图像压缩感知设计(含源文件)
  14. Mysql常见的引擎
  15. vue项目中使用词云_如何在vue项目中使用高拍仪
  16. Oracle官方网站下载地址
  17. 详解ARM的AMBA设备中的DMA设备(Linux驱动之DMA)
  18. OSPF-LSA详解
  19. 一个较为感人的升学故事
  20. 3dmax文件保存后超大怎么缩小?想学3D建模,还没软件速来领取

热门文章

  1. 天子呼来不上船,自称臣是酒中仙——我的嗜酒情节
  2. Java Web实用开发技术(4)------在线编辑器
  3. 《Linux内核完全注释》部分习题解答
  4. 离奇电信诈骗:一夜损失 52000元,毒品、情妇、黑客交织的犯罪网络
  5. android搜索框实现
  6. 动词ing形式的5种用法_动词ing的几种常见用法
  7. “此致敬礼”是什么意思
  8. 杰克韦尔奇《赢》读书笔记
  9. 两周!从入门到第15到第3!小白和你一起入门NLP
  10. 股票实现自动止损止盈 股票自动止损止盈策略 python量化策略