response之重定向与request之服务器内部转发详解

本文详细探讨了HTTP响应的重定向机制,包括设置状态码为302和利用Location响应头的方法,以及定时刷新实现的跳转。同时,解释了请求的服务器内部转发,它发生在request域生命周期内,通过RequestDispatcher进行。两者主要区别在于重定向导致客户端地址栏改变,而转发则保持原始请求地址不变。

一:response

1.response重定向:

        指的是客户端跳转,即一次请求一次跳转,其特点为客户端地址栏发生改变


    跳转方式:

    1)

         //1 设置状态码302重定向

response.setStatus(302);

//2 设置响应头Location

response.setHeader("Location", "/WEB14/servlet2");

    2)

//次方式由方法1封装而成

        //response.sendRedirect("/项目名/指定的Servlet");

    3)

                //定时刷新:3秒后跳转到指定页面

response.setHeader("refresh", "3;url=/WEB14/servlet2");

二:Request


1.request服务器内部转发:转发发生在request域的生命周期内,


    转发格式:

获得请求转发器----path是转发的地址

RequestDispatcher getRequestDispatcher(String path)

通过转发器对象转发

requestDispathcer.forward(ServletRequest request, ServletResponse response)


    范例:

                   request.getRequestDispatcher("/login.jsp").forward(request, response);

三:二者区别

          1)重定向两次请求,转发一次请求

          2)重定向地址栏的地址变化,转发地址不变

          3)重新定向可以访问外部网站 转发只能访问内部资源

          4)转发的性能要优于重定向


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值