• request.getRequestDispatcher()的两个方法forward()/include()!!!


    RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");
    请求转发: rd.forward( request , response );
    请求包含: rd.include( request , response );

    有时一个请求需要多个Servlet协作才能完成,所以需要在一个Servlet跳到另一个Servlet!
    >一个请求跨多个Servlet,需要使用转发和包含。
    >请求转发:由下一个Servlet完成响应体!当前Servlet可以设置响应头!(留头不留体)
    >请求包含:由两个Servlet共同完成响应体!(留头又留体)
    >无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response!

    request域
       void setAttribute(String name ,Object value)
       Object getAttribute(String name)
       >同一个请求范围内使用request.setAttribute()/request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值;

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

    来自网易博客:http://jamkong.blog.163.com/blog/static/2361940132014101841545703/

  • 相关阅读:
    模拟黑客入侵,恶搞小伙伴的利器
    牛客网算法竞赛难题
    ybt ——1346【例4-7】亲戚
    FBI树
    noi2020第二题
    noi2020第一题
    Happiness
    YiJuWuLiaoDeHua
    挂掉了一个u盘
    NOIp2020
  • 原文地址:https://www.cnblogs.com/JamKong/p/4928083.html
Copyright © 2020-2023  润新知