转发和重定向

     1. 关于web系统中资源跳转
             1.1 跳转包括两种方式:
                转发-forward
                重定向-redirect
     2.转发和重定向代码怎么写?
          -转发:
              request.getRequestDispatcher("/b").forward(request,response);
          -重定向:
              response.sendRedirect(request.getContextPath()+"/b");
     3.转发和重定向的区别?
        相同点:
        -都可以完成资源跳转;
        不同点:
         -转发是request对象触发;
        -重定向是response对象触发;
        -转发是一次请求,浏览器地址栏上地址不会发生变化;[/a]
        -重定向是两次请求,浏览器地址栏上的地址会发生变化;[/a,/b]
        -重定向的路径需要加webapp的根路径
        -转发是在本项目内部完成资源的跳转,
        -重定向可以完成跨项目资源跳转

     4.跳转的下一个资源可以是什么?
                      跳转的下一个资源可以使web服务器中任何一种资源:可以是Servlet,也可以是Html,也可以是JSP....
     5.什么时候采用转发?什么时候采用重定向?
         -若想完成夸APP跳转,必须使用重定向;
        -若在上一个资源中向Request范围中存储了数据,希望在下一个资源中从request中取出数据,必须使用转发
        -重定向可以解决浏览器的刷新问题;

     6.重定向的原理是什么?
        response.sendRedirect("/jd/login");
          程序执行以上代码,将请求路径/jd/login反馈给浏览器,
         浏览器又自动向web服务器发送了一次全新的请求:/jd/login;
         浏览器地址栏上最终显示的地址是:/jd/login

你可能感兴趣的:(转发和重定向)