• 重定向和转发页面的后续代码是否执行


    重定向:会在当前页面代码执行完毕后,跳转到指定的页面执行其他代码。 
    转 发:在本页面代码执行到转发语句后,即跳转到指定的页面执行其他代码,执行完毕后返回接着执行转发语句后的代码。

    测试

    在重定向之前和之后让程序各循环sleep五秒,在控制台打印输出,看页面在什么阶段跳转

    //重定向前循环sleep五秒
    for (int i = 0; i < 5; i++) {
        System.out.println("before redirect:" + i);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    
    //重定向
    response.sendRedirect("result.jsp");
    
    //重定向后循环sleep五秒
    for (int i = 0; i < 5; i++) {
        System.out.println("after redirect:" + i);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }


    可以发现:控制台打印了5个before redirect和5个after redirect之后,页面刷新,浏览器地址改变,页面内容改变
    1. 重定向之后的代码会继续执行
    2. 当前程序所有代码执行完毕后,才会执行重定向跳转

    引申
    重定向之后,加上return,可让之后的代码不再执行

    boolean flag = true;
    if (flag) {
    response.sendRedirect("result.jsp");
    return;
    }

    控制台打印了5个before redirect之后,页面刷新,浏览器地址改变,页面内容改变

  • 相关阅读:
    pycharm使用
    python上手之环境搭建
    LDA浅析转
    矩阵按列按行归一化到L2范数的原理和最精简Matlab代码(转)
    (转)Low-Mid-High
    菲波纳数列的特性
    劝狼赋
    asp.net mvc Controller 模式下的 aop
    android for vs (三)visual studio android 发布为 apk
    android for vs (二)visual studio android 开发实例
  • 原文地址:https://www.cnblogs.com/wcxcc/p/10681183.html
Copyright © 2020-2023  润新知