请求转发和重定向

请求转发:

服务端的行为,地址栏不会发生改变,只有一个请求,request当中的数据在servlet程序中共享
转发的地址只能是网站内的资源,不能转到百度等页面

  	//请求跳转到servlets02
    request.getRequestDispatcher("s02").forward(request, response);
    //请求跳转到页面
    request.getRequestDispatcher("web/user.html").forward(request, response);
    //跳转到WEB-INF的页面
    request.getRequestDispatcher("WEB-INF/test.html").forward(request, response);

重定向:

客户端的行为,地址栏发生改变,有两个请求,重定向可以转发到任意地址(可以跨越),request中的数据不共享
不能重定向到WEB-INF中的页面
可以重定向到百度等页面

	response.sendRedirect("s02");
    response.sendRedirect("https://wap.baidu.com");
    //客户端行为,不能重定向到WEB-INF中的页面

在session中,当cookie在网页中被禁用之后,可以在网址栏中添加cookie中存的session的id即可访问,通过重定向方法转到另一个servlet:

   HttpSession session=request.getSession();
        
    //session设置数据
    session.setAttribute("username","admin");
    session.setAttribute("password","123456");
    System.out.println(session.getId());
    
    //重写url,追加sessionID
    String newUrl=response.encodeRedirectUrl("getSession");
    System.out.println(newUrl);
    //重定向到要跳转的servlet
    response.sendRedirect(newUrl);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每周都想吃火锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值