1、转发:

RequestDispatcher的forward(request, response)称为请求转发。

request的getRequestDispatcher和getRequestDispatcher的forward方法说明:

请求转发,保存了ServletRequest中setAttribute的参数,可以使用这种方法传递参数:

req.setAttribute("username", "arthinking");

RequestDispatcher rd = req.getRequestDispatcher("message.jsp");

rd.forward(req, resp);

在同一个请求里面,可以使用getParameter方法获取setAttribute方法设置的参数。

转发实际上是属于请求对象的方法,并没有重新生成客户端的访问请求,没有生成新的ServletRequest对象,所以数据依然保持着。

在FireBug中,转发动作是不会被记录的,因为是在服务器端发生的。

2、重定向:

HttpServletResponse对象的sendRedirect(String location)方法称为重定向。

resp.sendRedirect("");

重定向表示服务器使用HttpServletResponse的sendRedirect方法告诉客户端本次访问结束,并提供下次访问服务器的URI,重新访问服务器,生成新的ServletRequest,所以之前保存的信息会丢失掉。

在FireBug中,重定向客户端会发发送两个请求,第一个请求的状态为:302 Moved Temporarily,重定向的最后一次请求为GET url 200OK。

3、请求转发与重定向的区别:

请求转发的整个过程处于同一个请求当中。

重定向实际上客户端会向服务器端发送两个请求。

java 根据客户端重定向_Java Web笔记 - 转发与重定向的区别与在FireBug客户端的表现...相关推荐

  1. java 重定向关键字_springboot实现转发和重定向

    1.转发 方式一:使用 "forword" 关键字(不是指java关键字),注意:类的注解不能使用@RestController 要用@Controller @RequestMap ...

  2. Java中用JS那些_java web中javascript主要用哪些?

    java web中javascript主要用途是在页面上完成特定按钮的事件功能并且实现前后台交互. JavaScript 是一种跨平台,面向对象的脚本语言.作为一种小巧且轻量级的语言,JavaScri ...

  3. java dispatcher详解_Java Web开发详解:RequestDispatcher接口

    12.6.1  RequestDispatcher接口 RequestDispatcher 对象由 Servlet 容器创建,用于封装一个由路径所标识的服务器资源.利用RequestDispatche ...

  4. java中有地址吗_java web开发中各类地址的写法

    这个其实有三个原则: 1.如果这个地址是给服务器用的,该地址的起点就是从该web应用开始写. 2.如果这个地址是给浏览器用的,该地址的起点就是从该网站开始写. 3.所有的地址都以"/&quo ...

  5. java 利特尔法则_Java Web应用中调优线程池的重要性

    不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求.线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的.本文主要介绍Java线程池的使用和如何正确的配置线程 ...

  6. java 写一个商店_Java Web开发之基于Session的购物商店实现方法

    本文实例讲述了Java Web开发之基于Session的购物商店实现方法.分享给大家供大家参考,具体如下: package cn.com.shopping; import java.io.IOExce ...

  7. java怎么加定时器_JAVA WEB程序中添加定时器

    JAVA WEB程序中添加定时器 //这是我的定时器类,用来定时执行某段任务: package com.my.time; import java.text.ParseException; import ...

  8. java cookie的有效期_Java Web cookie的有效期

    Java Web中cookie中的有效期 (1)Java Web后台添加cookieCookie emailCook = new Cookie(name2, "whuang"); ...

  9. java 静态变量 存储_Java学习笔记9---类静态成员变量的存储位置及JVM的内存划分...

    笔记8提到了类静态成员变量的访问方式,但静态成员变量存储在哪里呢?在网上查阅不少资料,发现好多内容都是过时的了,其中主流观点是静态成员变量存放在方法区.JDK8之前,静态成员变量确实存放在方法区:但J ...

最新文章

  1. FindAllAnagramsinaString
  2. 计算机未识别网络什么意思,win7 64位系统提示当前连接到未识别的网络怎么办...
  3. 编译原理 之 解释器
  4. python读取视频分辨率_Python实现以不同分辨率分类视频
  5. 哈尔滨工业大学(威海)第九届ACM程序设计竞赛
  6. 每日一笑 | 在托运行李时,怎样才能不会因为超重被罚钱?
  7. 深入浅出组合逻辑电路(1)
  8. lower_bound()和upper_bound()
  9. java义一个方法,返回一组双色球票数
  10. UVALive 4043 Ants
  11. halcon 旋转_HALCON高级篇:3D相机标定
  12. [模板] tarjan/联通分量/dfs树
  13. 【多模态】来自Facebook AI的多任务多模态的统一Transformer:向更通用的智能迈出了一步...
  14. maven+scala和java_maven打包scala+java工程
  15. Charles添加断点拦截请求 修改request或者修改response
  16. 再读《Java编程思想 》
  17. JAVA 连接sftp服务器,用户名密码方式链接(类似于FinalShell以ssh方式链接LINUX)
  18. 不服不行,太厉害了,终于有人能把TCP/IP 协议讲的明明白白了
  19. 报错vs2019 初始值设定项值太多
  20. 数据结构进阶 哈希表

热门文章

  1. python3爬虫初探(七)使用MySQL
  2. 数据挖掘之关联分析一(基本概念)
  3. XGBoost的PU-Learning
  4. jsTree如何自定义节点的icon
  5. 《A Novel Pipeline Approach for Efficient Big Data Broadcasting》阅读报告
  6. 利用 bugly 分析应用崩溃
  7. 第七节 VMware View 6.0 菜鸟入门 Composer 安装和部署
  8. 从源码开始编译一个带有WEB服务器功能的小型LINUX(下)
  9. C++基本入门资料搜集
  10. 《Netty权威指南》