zoukankan      html  css  js  c++  java
  • 关于request.getRequestDispatcher()的两个方法以及request域

    转:

    关于request.getRequestDispatcher()的两个方法以及request域
    原创
    ————————————————
    版权声明:本文为CSDN博主「DoNg_2521」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/h2503652646/java/article/details/83661347

    关于request.getRequestDispatcher()的两个方法以及request域
    原创 DoNg_2521 最后发布于2018-11-02 21:00:48 阅读数 29853 收藏
    展开

    一、getRequestDispatcher()

    getRequestDispatcher()包含两个方法,分别是请求转发和请求包含。

    RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");

    请求转发: rd.forward( request , response );
    请求包含: rd.include( request , response);

    一个请求跨多个Servlet,需要使用转发和包含。

    请求转发:由下一个Servlet完成响应体!当前Servlet可以设置响应头!(留头不留体)
    请求包含:由两个Servlet共同完成响应体!(留头又留体)

    无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response!

    二、请求转发和重定向的区别:

    请求转发是一个请求一次响应,而重定向是两次请求两次响应。
    请求转发地址不变化,而重定向会显示后一个请求的地址
    请求转发只能转发到本项目其它Servlet,而重定向不只能重定向到本项目的其它Servlet,还能定向到其它项目
    请求转发是服务端行为,只需给出转发的Servlet路径,而重定向需要给出requestURI,既包含项目名!

    三、request域
    同一个请求范围内使用request.setAttribute()和request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值;

    点赞 19
    收藏
    分享

    ————————————————
    版权声明:本文为CSDN博主「DoNg_2521」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/h2503652646/java/article/details/83661347

  • 相关阅读:
    996工作制是奋斗还是剥削?
    动态链接的PLT与GOT
    The Product-Minded Software Engineer
    缓冲区溢出
    golang的加法比C快?
    C errno是否是线程安全的
    golang 三个点的用法
    GDB 单步调试汇编
    为什么CPU需要时钟这种概念?
    fliebeat配置手册
  • 原文地址:https://www.cnblogs.com/libin6505/p/12674173.html
Copyright © 2011-2022 走看看