到你了

该我上场表演啦!

导航

重定向和转发


  我们知道,servlet跳转页面的方式有两种,就是重定向和转发。在这之前,我先说一下我遇到的问题——
用jdbc+servlet查询数据库数据绑定到jsp页面时,我在登陆时就已经准备了数据(就是用request.setAttribute()方法放到request作用域中),
在跳转到另一个页面时就绑定到table上。如果跳转页面时用的是转发跳转,则table上有数据。如果用重定向跳转
则table上没有数据,那为什么呢? 对此我们来看看什么是重定向和转发。

1、重定向:response.senddirect(“要重定向的资源的路径”)方法跳转到另外一个资源文件,当用户请求某个资源而资源不存在时,在服务器端通过这个函数进行重定向的操作,在客户端浏览器上会得到跳转后的地址,并重新发送请求链接,在浏览器的地址栏上可以看到跳转后的新的地址。进行重定向操作之后,request中的属性全部失效,并且进入一个新的request对象的作用域。

2、转发:request.getdispacher("要转发的资源的路径").forward(request,response)当用户请求的资源不存在时,服务器端可以使用这个函数进行转发的操作,这个动作是在服务器端内部执行的,客户端根本不知道服务器端做了这个操作,所以在客户端浏览器地址栏中不会显示新的资源的地址。可以看出这时使用的是同一个request对象,所以使用这种方法可以获取到刚才添加到request中的信息。

 

总结:转发跳转页面request作用域中的参数共享;重定向跳转参数不共享。

posted on 2018-03-12 20:26  到你了  阅读(573)  评论(0编辑  收藏  举报