A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-5-23 16:46 编辑

重定向和转发

        //redirect : 重定向     forward : 转发
1.重定向和转发的区别:(redirect和forward的区别)
        * 1.重定向的地址栏会发生变化,转发的地址栏不变.
                (转发拿到的是同一个request对象,重定向拿到的不是同一个request)
        * 2.重定向两次请求两次响应,转发一次请求一次响应.
        * 3.重定向路径需要加工程名,转发的路径不需要加工程名.
        * 4.重定向可以跳转到任意网站,转发只能在服务器内部进行转发(当前工程中).


2.转发/跳转


        * 5秒钟后跳转 //Refresh :定时刷新/跳转(可跳到任意服务器,会改变路径))
                response.setHeader("Refresh", "5;url=/day09/demo5-refresh/index.html");
        * 转发(地址栏的请求路径不变)
                request.getRequestDispatcher(String path).forward(request,response);
        * 跳转(可以跳到任意服务器,会改变路径)
            response.setStatus(302);
                response.setHeader("Location", "/userlogin/skip_page/skip.html");
               
3.重定向:
        * response.sendRedirect(String path); -- 完成重定向
4.转发和重定向的区别:
        request.getRequestDispatcher(String path).forward(request,response);//转发
        response.sendRedirect(String path); //重定向
        * 1.重定向的地址栏会发生变化,转发的地址栏不变.
            (转发拿到的是同一个request对象,重定向拿到的不是同一个request)
        * 2.重定向两次请求两次响应,转发一次请求一次响应.
        * 3.重定向路径需要加工程名,转发的路径不需要加工程名.
        * 4.重定向可以跳转到任意网站,转发只能在服务器内部进行转发(当前工程中).

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马