初识 JSP---(转发和重定向)

转发和重定向

在 JavaWeb 中,有两种跳转方式:

1.转发  2.重定向

转发

客户端访问 servlet ,有转发指令,将 servlet 发送给另一个servlet,然后由这个 servlet 返回给客户端,这就是转发(整个过程中对服务器的请求只发送一次)

只发出一次请求,地址栏是初次发出的请求地址,在最终的servlet中,request对象和中转的request的对象是同一个request对象,只能转发当前web应用资源(“/”代表的是相当于web工程的路径 如果是相对路径就不用写“/”)

 

例子:response.sendDispatcher("showLogin")(告知转发器要跳转到那个页面去). forword(req,resp);(通过转发器进行转发)

结果(地址栏不发生改变)

重定向

客户端访问 servlet ,有重定向指令,将 servlet 先返回客户端(跟服务器链接断开),客户端再发起一次请求给另一个 servlet,然后由这个 servlet 返回给客户,这就是重定向(整个过程中对服务器的请求发送两次)

重定向是发出两(多)次请求,两个请求不是同一个request,地址栏是最后发出请求的地址。如果“/”写在重定向的话,代表的是web站点的根路径

 

例子:response.sendRedirect("ServletForWard1");

 

结果(地址栏发生改变)

转发和重定向的区别

1.本质区别:转发实质上只发送一次请求,重定向实质上发送两次请求

2.转发请求的第一个request对象和中转request对象是同一个request对象,重定向的请求request对象和中转request对象不是同一个request对象

3.转发只能将请求发送给web资源(当前项目),重定向可以发送给任意资源

4.转发的地址栏是第一次请求的地址,重定向的地址栏是最后一次请求的地址

5.转发:“/”代表web项目的根路径,重定向:“/”代表web站点的根路径

 

包含:include

例子:

结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值