Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;

本篇博客的主要内容是:

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

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

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

ServletContext简介

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第1张图片

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

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

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

ServletContext:Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第2张图片


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

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第3张图片

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第4张图片


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

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

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第5张图片

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第6张图片


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

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

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

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第7张图片


 Java Web三大作用域对象总结

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第8张图片

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

…………………………

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

…………………………

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


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

…………………………

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

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第9张图片

…………………………

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


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

…………………………

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

Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;_第10张图片

…………………………

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


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

背后默默奉献的是Tomcat哎;

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

你可能感兴趣的:(Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;)