1、请求转发(RequestDispatcher)的过程:

客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的test.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在jsp中都能取出来,因此,jsp能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端。整个过程是一个请求,一个响应。

2、重定向(sendRedirect)的工作原理:

客户发送一个请求到服务器,服务器匹配servlet,这都和请求转发一样,servlet处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以,当这个servlet处理完之后,看到response.senRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问test.jsp,紧接着客户端受到这个请求后,立刻发出一个新的请求,去请求test.jsp,这里两个请求互不干扰,相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了。可见,在sendRedirect()里面是两个请求,两个响应。

3、forword与重定向redirect区别

1) 从地址栏显示来说

forward:服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。

redirect:服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的URL。

2) 从数据共享来说

forward:转发页面和转发到的页面可以共享request里面的数据。

redirect:不能共享数据。

3) 从运用地方来说

forward:一般用于用户登陆的时候,根据角色转发到相应的模块。

forward:一般用于用户注销登陆时返回主页面和跳转到其它的网站等。

4) 从效率来说

forward:

 redirect:

servlet中请求转发forword与重定向redirect区别相关推荐

  1. 请求 转发(forword)和重定向(redirect)

    请求 转发forword和重定向redirect 两者含义 两者区别 总结 两者含义 forword转发: 服务器请求资源,直接访问目标地址的url,把那个url响应内容读取过来,然后把这些内容发给浏 ...

  2. servlet中请求转发(forword)与重定向(sendredirect)的区别

    servlet请求转发与重定向的区别: request.setAttribute("test","hello"); request.getRequestDisp ...

  3. 转发forword和重定向redirect

    转发forword 转发是浏览器发送http请求给服务器,服务器接受请求,在内部调用方法在完成请求处理和转发动作将目标资源发送给浏览器,整个过程浏览器对服务器的请求只有一次,该请求也可以转发n次,都是 ...

  4. Servlet之请求转发和响应重定向

    多个servlet之间的跳转有两种方式: 请求转发:request.getRequestDispatcher("转发路径").forward(request, response); ...

  5. httpservletresponse 重定向浏览器不变的原因_JavaWeb——Servlet——请求转发与响应重定向...

    导语:在实际的软件开发过程中,往往需要多个Servlet来实现不同的功能,就需要对多个Servlet进行组合调用.多个Servlet之间如何进行通信和跳转?而这就需要用到请求转发与响应重定向技术. 原 ...

  6. java中forward和redirect_java中转发forward和重定向redirect的区别

    Forward(转发) 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是 ...

  7. JAVA记录-Servlet RequestDispatcher请求转发

    RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是servlet协作的一种方式. 在Requ ...

  8. 请求转发跟响应重定向的具体应用

    1.请求转发与响应重定向的概念 ·转发 是服务器端的行为 发送了一次请求 网址不会发生变化 请求的数据不会丢失 一般情况下在进行查询操作时使用转发 方法:request.getRequestDispa ...

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

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

最新文章

  1. Chapter 02:复合 VS 继承
  2. (0071)iOS开发之Category VS Extension区别理解
  3. Visual C#中的(ListBox)数据绑定
  4. 【JZOJ4819】【NOIP2016提高A组模拟10.15】算循环
  5. mysql 标记_Mysql操作基础,标记一上
  6. 关于nginx keep-alive 参数的验证和心得
  7. 【java笔记】字符编码和字符集
  8. CentOS 6.6 安装 Node.js
  9. 什么软件能打开prt文件_prt文件除了UG和PROE还可以用什么软件打开?
  10. jsp分页功能的位置有可能会影响到翻页时的查询条件
  11. window 上 shell 连接工具
  12. WinCE驱动之Touch Panel(开发详解)
  13. FPGA模拟PS/2键盘
  14. 第九组 通信3班 063 防火墙配置
  15. 管理活动目录域服务实训_工商管理学院党总支举行校园公益服务活动
  16. 详细写出拆卸计算机的步骤和过程,CPU风扇(INTEL)的详细拆卸和安装方法_计算机软件和应用程序_IT / computer_special...
  17. 非常好理解的python re正则表达式入手
  18. mysql误删数据恢复操作
  19. 网络对抗 Exp2.1 后门原理与实践 20154311 王卓然
  20. python余弦函数,Python余弦函数精度

热门文章

  1. Spring Boot JUnit 测试 Controller
  2. Pause Giant AI Experiments: An Open Letter (Elon Musk, March 22 2023)【中英双语】
  3. 【PaperReading】Knowledge Graph Embedding Based Question Answering
  4. openlayer路径规划线路箭头添加
  5. Java类加载过程简述
  6. mysql tostring函数_各种类型转换为字符串类型(ToString())
  7. 上海计算机自考哪个学校好,上海自考的学校有哪些?
  8. PC主流同步软件评测
  9. JS实现页面快速定位
  10. 导入销售订单时要求制定折扣物料