JSP四大域对象

四大域对象:

page  request  session  application

1.page:page是指当前页面,只对当前jsp页面有效

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

2.request:是指从http请求到服务器处理结束,返回响应的整个过程,在这个过程中使用forward方式跳转多个jsp,在这些页面里你都可以使用这个变量.

:request里的变量可以跨越forward的前后两页,但是只要重新刷新页面,就开始重新计算

3.session:有效范围当前会话,从浏览器的打开到浏览器的关闭

:session和application里的变量一直在累加,但是只要浏览器关闭,session对象就不见了

(1)设置session会话

HttpSession session=request.getSession()

session.setAttribute("user",ub);

(2)设置与上一次最长交互时间间隔 单位是秒

session.setMaxInactiveInterval(10)

(3)使session失效

session.invalidate()

4.application:它的有效范围是整个应用

作用域里的变量,它的存活时间是最长的,如果不进行手工删除,它们就一直可以使用

:application里的变量一直在累加,除非重启tomcat,否则一直变大,作用域规定的是变量的有效期限

Session和Cookie

Session

Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

Cookie

Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

Cookie的默认生命周期是一次会话 Cookie中有JSESSIONID

Session.getId()==cookie的JSESSIONID

只有创建Session的时候(request。getSession)时才有JSESSION,然后才将JSESSIONID存到Cookie中

cookie信息放到请求头

服务端要JSESSIONID干什么?

请求携带cookie的JSESSIONID到服务端,服务端session可以通过getId获取到JSESSIONID

与Cookie中的JSESSIONID一比较,就可以将请求和session对应上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容