zoukankan      html  css  js  c++  java
  • 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路径,详情如下图:

  • 相关阅读:
    多线程ExecutorService 的理解与使用
    MySql索引
    HttpURLConnection和HttpClient使用
    httpclient调用接口
    几个linux命令
    面试之自定义字符串操作
    C和C++中struct的区别
    如何根据端口号查看占用进程
    linux和window如何发布服务
    MYSQL中GROUP_CONCAT和CONCAT函数配合使用
  • 原文地址:https://www.cnblogs.com/jamsbwo/p/4780527.html
Copyright © 2011-2022 走看看