jsp转发跳转页面_j2ee13:jsp03:转发、重定向、三种跳转,短信项目

第一:概念

application对象就是上下文对象,翻译过来就是这个意思

1.新建项目的请求路径在Content root url上去找(右键新建项目的时候会出现),这也就是8080之后的地址。

如果想修改请求地址的话,在项目上右键(最后一个)属性--》myeclipse--》web--》把名字改掉

2.批量删除:request.getparamterValues,这个方法返回的是一个String类型的数组

3.三种跳转:

---1.out.print():使用了localhost对象

---2.request.getREquestDispatcher(""),这是转发的方法,返回值是RequestDispatcher对象,这个对象有个前进的方法forword(),根据推断应该还有个后退的方法back()

---3.response.sendRedirect(""),这是重定向

--注意:request是封装客户端的请求,

response封装服务器端的响应

---区别:1.现象:转发不会发生地址栏的改变(地址栏显示第一次接收请求的页面的地址),重定向会发生地址栏的改变(显示最后一次响应的页面的地址)

2.实质:转发的实质是第一次是客户端向服务器发送请求,然后服务器端在把请求转发给服务器上的另一个地址。forword的作用是指把request对象封装的数据往下一个页面传递。其实这里就是传递request对象里面封装的数据,这里一直都是在用同一个request对象。

重定向的实质第一次是客户端向服务器发送请求,然后服务器把请求响应给客户端(这个响应的结果是服务器端的另一个地址),在然后客户端再次向服务器发送请求,请求的地址是第一次服务器端响应给客户端的地址。也就是两次请求都由客户端发起。

这里先后产生了两个request对象。这两次请求不能共享同一个request对象。也就不能再次接受request里面的数据(不能写request.getparamter())

4.url重写:为了能够也就不能再次接受request里面的数据,在使用response的时候需要使用url重写,

所谓url重写,就是在response重定向的路径中用?加上需要的参数,以达到继续传参的目的。

也就是说response需要重写url的方式进行参数的向下传递

5.request.setAttribute():当需要使用一些附加内容的时候,就使用这个方法传参。注意要使用同一个request对象。

也就是说request需要使用setAttribute向下传递参数,这是转发携带参数的方法,而重定向(或者超链接)想携带参数就要用url传参

6.

----转发的处理速度快,因为没有第二次经过客户端(重定向要两次经过客户端)

----转发的缺点是导致表单重复提交(例如添加的时候,添加成功之后看到的中间的地址,而不是最终的地址,但是当我们刷新的时候相当于再次发生请求(因为我们刷新的页面是中间处理请求的页面)),

而重定向最终我们看到的路径是最终路径而不是中间处理页面,所以当执行完成后在刷新也不会重复执行(因为刷新的不是处理页面而是最终结果页面)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值