request域对象.

来源:互联网 发布:话本小说软件 编辑:程序博客网 时间:2024/05/22 10:38
request域对象.
ServletContext就一个域对象.
request的创建与销毁.
当请求来的时候,tomcat服务器会创建request,response对象。
当响应产生,request对象销毁。

也就是说,每一次请求都是一个新的request。

request也是一个域对象,它也可以存取删除数据。
setAttribute()
getAttribute()
removeAttribute();

问题:每一次请求都是一个新的request,那么request域的作用范围是什么,在开发中什么时候使用?

请求转发----在服务器内部进行跳转。
这时我们这几个servlet就共享同一个request对象,这就是request域作用范围。

我们使用请求转发可以让多个servlet之间共享同一个request,那么我们如果想要在多个servlet之间进行信息传递,
可以使用setAttribute().


在开发中什么时候使用请求转发?
如果我们在request域中存储了信息,到其它的页面时,需要得到这个信息,这时我们就需要进行请求转发.


请求转换的代码
request.getRequestDispatcher("路径").forward(request,response);


笔试题:
请求转发与重定向的区别?

1.请求转换是服务器内部跳转,所有地址栏上的路径不会改变.
 重定向是浏览器在次发送请求,地址栏上的路径会发生改变.
 
2.请求转发只发送一次请求。
                          重定向会发送两次请求.

3.请求转发只能在当前应用内部跳转.
 重定向可以在内部跳转也可以跳出当前应用.
 
4.请求转发时,因为是内部跳转。它的路径写法是   /资源路径。
                           重定向,它的路径需要写   /工程名/资源路径. 


5.请求转发,可以共享reqeust。
                          重定向不可能,因为每一次都是一个新的request。

6.请求转换是通过reqeust发起  request.getRequestDispatcher().forward();
  重定向  response发起      response.sendRedirect();
0 0