重定向和转发的不同

本文详细探讨了HTTP请求中转发和重定向的区别,包括它们的工作原理、浏览器表现以及对请求和响应对象的影响。通过实例代码展示了如何在Servlet中实现这两种操作,重定向导致浏览器地址改变并进行两次以上请求,而转发则保持单一请求并共享请求和响应对象。理解这些概念对于Web应用开发至关重要。
摘要由CSDN通过智能技术生成
使用的方法               url地址
转发(服务器行为)   getRequestDispatcher()       不变
重定向(客户端行为)   sendRedirect()             改变
        转发浏览器只做一次访问请求----重定向两次以上
        转发两次不会有信息丢失----重定向两次信息会丢失(request)
        转发会共享一个request和response----重定向2次请求分别生成2个不同的request和response对象

重定向实测
代码部分
在这里插入图片描述
浏览器地址
在这里插入图片描述
实际效果:直接跳转到我的login.html界面了,而且地址栏地址也变了,test先请求,得到一个302的码,然后test去找login.html
在这里插入图片描述

二.转发
代码部分

@WebServlet("/test")
public class No3Servlet extends HttpServlet {
 @Override
    protected void service
         (HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
       //设置响应类型
        resp.setContentType("text/html;charset=utf-8");
       //转发
        req.getRequestDispatcher("login.html").forward(req,resp);
    }
}




浏览器地址
在这里插入图片描述

效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值