up:: 用户会话Session对象

本篇博客的主要内容是:

● ServletContext对象简介;获取方法,设置属性方法;

● ServletContext对象演示的几个例子;

●HttpServletRequest对象、HttpSession对象、ServletContext对象:Java Web三大作用域对象总结

ServletContext简介

● ServletContext:是web应用程序的全局对象;

● 在整个web应用程序中,有且仅有一个ServletContext对象;

● ServletContext随着web应用程序的启动而自动创建,在web应用程序,重启或者关闭时,其进行销毁;

ServletContext:


ServletContext对象获取,设置属性,获取属性


情况一:启动web工程:访问ServletContextInitSevlet,然后访问ServletContextDefaultServlet

数据初始化:给ServletContext对象设置程序


情况二:其概况一的基础上,关闭浏览器窗口,重新打开,直接访问ServletContextDefaultServlet:

只要是web工程不重启,不关闭,ServletContext对象就不会消失;

说明,对于ServletContext对象来说,只要是设置了自定义属性,其就会在应用程序全局生效,无论什么时候都可以获取这个属性(前提是web工程不关闭、不重启啦)


Java Web三大作用域对象总结

可以先参考: Servlet的三大作用域对象_寒小韩_的博客-CSDN博客_servlet三大域对象

HttpServletRequest对象:作用域和生命周期最小;


浏览器向服务器发送应该请求,服务器处理这个请求时,可以认为服务器创建了一个HttpServletRequest对象去接收这个浏览器发过来的请求:(只是这样理解哦,不一定对哎)


HttpServletRequest对象(请求对象):生命周期最短的对象,当一个请求送往Tomcat,这个请求就会被创建,当Servlet处理完成后,产生了响应,并且返回给浏览器,则当前的HttpServletRequest对象就会被销毁;可以说HttpServletRequest对象是一个瞬时对象,用完了就会扔掉;


HttpSession对象:作用域和生命周期中等;


第一次用户请求的时候,Tomcat就针对本次会话,已经在自己内存中创建了一个Session对象,我们可以通过request.getSession()的方法去获取这个Session:(只是这样理解哦,不一定对哎): 发现,浏览器发过来的HttpServleetRequest对象很关键:


HttpSession对象(用户会话对象):用于保存与浏览器窗口多对应的数据;Session是在第一次用户发来请求的时候创建的,如果超时了(如默认超过30min没有被访问),这个HttpSession对象就会被销毁;关闭浏览器窗口时,只是将存储在浏览器中的那个JSESSIONID的cookie给抛弃了(但是,这个JSESSIONID在Tomcat内存中session对象并没有立即销毁;)


ServletContent对象:作用域和生命周期最大


Web应用程序启动的时候,Tomcat已经在自己内存中创建了ServletContext对象,我们可以通过request.getServletContext()的方法去获取这个ServletContext对象:(只是这样理解哦,不一定对哎): 再次发现,浏览器发过来的HttpServleetRequest对象很关键:


ServletContent对象(应用程序全局对象):在web应用程序启动的时候,就被创建了;web应用程序重启或者关闭时会被销毁;


平时开发时:如果能用作用域小的对象就能完成的功能,就不要用作用域大的对象

背后默默奉献的是Tomcat哎;

发现Cookie被“抛弃了”,cookie作为Session的基础,已经底层支持Session了,转为幕后工作者了………………(只是这样理解,不一定对哎)