• response重定向与request转发


    重定向与转发的区别:

      ⑴重定向:将一个请求处理完毕需要执行另一个请求,浏览器重新发送一个请求,重定向请求可以是任意请求。

        转发:在相应一个请求的时候,执行一部分之后需要转向另一个请求继续执行,比如servlet处理之后需要转向到jsp显示数据。

      ⑵运用:

      重定向:

    redirect.sendDirect(转发路径);//次路径可以是任意应用路径
    或者:
    response.setStatus(302);//向浏览器发送302状态码
    response.setHeader("location",重定向路径);//发送响应头Location为所给路径
    

      转发:

    request.getRequestDisparter(转发路径).forward(request,response);
    

      ⑶特点与区别

      转发的应用路径与当前应用共享request,重定向则不行。

      转发发生在服务端,重定向发生在浏览器。

      转发路径只能在当前应用内,重定向路径任意。

      ⑷图解

      

    由于转发和重定向的路径改变问题也导致了jsp中关于外部引用格式的问题,比如css路径的正确书写:

    因为重定向(以定向jsp文件为例)之后的路径是是定向后的文件的具体路径,而转发后的路径是没变的,仍然是设置转发的文件路径(以servlet向jsp转发),即servlet路径,详情如下图:

  • 相关阅读:
    进程和线程的概述
    注意两个词汇的区别:并行和并发
    WebRTC MCU( Multipoint Conferencing Unit)服务器调研
    (译)WebRTC实战: STUN, TURN, Signaling
    关于图数据库查询语言:Cypher
    Neo4j安装后的密码修改
    XYC2016上半年工作笔记整理
    WebRTC技术调研
    在Django中使用Neo4j
    传统企业做互联网的困局
  • 原文地址:https://www.cnblogs.com/jamsbwo/p/4780527.html
Copyright © 2020-2023  润新知