JSP学习之路(三)

一.什么是转发

    1.--一个web组件(servlet/jsp)通过容器将未完成的处理转交给另外一个web组件继续完成.

       通常情况:一个servlet获得数据之后,将这些数据转发给jsp,由jsp进行数据展示.

    2.如何实现转发?

        1>绑定数据到request对象

            --实现绑定

                request.setAttribute(String name,Object obj);

                name:绑定名

                obj:绑定值

            --读取绑定值

                Object request.getAttribute(String name);如果绑定值不存在,则返回null.

        2>获得转发器

        3>转发

        步骤2和步骤3通常会写在一起:

            request.getRequestDispatcher(path).forward(request,response);

    3.转发的原理

        

    4.转发的特点

        1.转发之后地址栏不会变,转发过程发生在服务器内部.

        2.转发的目的地必须是同一个应用内部的某个地址.

        3.转发所涉及的各个web组件会共享一个request对象和response对象.

        4.注意:在forward之后的语句只要不报异常,就一定会执行.

    5.转发和重定向的区别

        重定向是浏览器发生请求并收到响应后再次向一个新地址发送请求;

        转发是服务器收到请求后为了完成响应转到一个新的地址.

        重定向有两次请求对象,不共享数据.

        转发只产生一个请求对象,且在各个组件之间共享数据.

        重定向之后地址栏发生改变,而转发不会.

        重定向的新地址可以是任意的地址,而转发到的新地址必须是同一个应用内的某地址.

        

        


猜你喜欢

转载自blog.csdn.net/weixin_39085109/article/details/81065655