天天看点

page、request、session和application的区别

1、page里的变量没法从index.jsp传递到test.jsp。只要页面跳转了,它们就不见了。

2、request对象内数据的存活范围就是在request对象的存活范围内,当客户端向服务器端发送一个请求,服务器向客户端返回一个响应后,该请求对象就被销毁了;之后再向服务器端发送新的请求时,服务器会创建新的request对象,该request对象与之前的request对象没有任何关系,因此也无法获得在之前的request对象中所存放的任何数据。指从http请求到服务器处理结束,返回响应的整个过程。 在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。

 3、Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程。 session对象内数据的存活范围也就是session对象的存活范围(只要浏览器不关闭,session对象就会一直存在,除非人为消除:即:session.removeAttribute();),因此在同一个浏览器窗口中,无论向服务器端发送多少个请求,session对象只有一个。

    ***

    所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话的所有请求里使用。

***

4、 application(应用对象):存活范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。在整个服务器运行过程当中,application对象只有一个。

jsp