WEB技术的结果是B/S架构或者C/S架构,目前B/S架构是主流。
WEB技术的本质,是实现服务端和用户端的信息交互,基本的交互载体是请求和响应。
java规范中,对服务端的管理由Servlet完成,可以把Servlet看作是服务端的管家,Servlet是单实例多线程模式的,因此具有线程安全的问题。
Context的意思是环境,不要理解成上下文或者容器,最准确的理解就是环境,java思想中,一切皆对象,因此环境也是对象,环境能给管家(Servlet)提供它工作所需的资源。
所以ServletContext就代表java中的管家的工作环境,因此代表整个WEB应用。
java为数据的存储和调用设计了一套生命周期的机制,数据只有用户和系统交互时才有意义,因此数据的生命周期本身也是基于对用户行为的划分来设计的。任何数据的存储都需要容器,java提供了三个容器,最后一个ServletContext既代表WEB应用,也代表最后一个容器。
request容器代表用户的每一次请求操作,因此它的容器的生命周期就存在于每次请求中,新的请求产生后,旧的请求消失,容器也消失。
session容器代表用户的每一次会面,它的生命周期存在于浏览器中,用户关闭浏览器后,会面结束,容器也消失。
ServletContext代表WEB应用,因此它的生命周期就是WEB应用的生命周期。
Servlet作为WEB端的管家,能把任何数据存储到上述三个容器之中,但分周期的设定,就是为了让开发者根据业务逻辑和用户体验去分区存储数据,从而使得系统性能和用户体验之间达到平衡。
WEB技术的本质,是实现服务端和用户端的信息交互,基本的交互载体是请求和响应。
java规范中,对服务端的管理由Servlet完成,可以把Servlet看作是服务端的管家,Servlet是单实例多线程模式的,因此具有线程安全的问题。
Context的意思是环境,不要理解成上下文或者容器,最准确的理解就是环境,java思想中,一切皆对象,因此环境也是对象,环境能给管家(Servlet)提供它工作所需的资源。
所以ServletContext就代表java中的管家的工作环境,因此代表整个WEB应用。
java为数据的存储和调用设计了一套生命周期的机制,数据只有用户和系统交互时才有意义,因此数据的生命周期本身也是基于对用户行为的划分来设计的。任何数据的存储都需要容器,java提供了三个容器,最后一个ServletContext既代表WEB应用,也代表最后一个容器。
request容器代表用户的每一次请求操作,因此它的容器的生命周期就存在于每次请求中,新的请求产生后,旧的请求消失,容器也消失。
session容器代表用户的每一次会面,它的生命周期存在于浏览器中,用户关闭浏览器后,会面结束,容器也消失。
ServletContext代表WEB应用,因此它的生命周期就是WEB应用的生命周期。
Servlet作为WEB端的管家,能把任何数据存储到上述三个容器之中,但分周期的设定,就是为了让开发者根据业务逻辑和用户体验去分区存储数据,从而使得系统性能和用户体验之间达到平衡。