在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
今天,小编要给大家详细解析JavaWeb四大作用域。四大作用域从小到大为:PageContext(jsp页面),ServletRequest(一次请求),HttpSession(一次会话),ServletContext(整个web应用)。相信大家对四大作用域并不陌生,不过大家真的都了解吗?
一、PageContext域:
作用范围是整个JSP页面,是四大作用域中最小的一个;生命周期是当对JSP的请求时开始,当响应结束时销毁。
二、ServletRequest域:
作用范围是整个请求链(请求转发也存在);生命周期是在service方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。
三、HttpSession域:
作用范围是一次会话。生命周期是在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。如果调用session提供的invalidate() ,可以立即销毁session。
注意:服务器正常关闭,再启动,Session对象会进行钝化和活化操作。同时如果服务器钝化的时间在session 默认销毁时间之内,则活化后session还是存在的。否则Session不存在。 如果JavaBean 数据在session钝化时,没有实现Serializable 则当Session活化时,会消失。
四、ServletContext域:
作用范围是整个Web应用。当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。
简而言之,JavaWeb四大作用域可以归纳为:
PageContext:在本页中有效,跳出页面则失效;
ServletRequest:跨页面作用,一般都是用于表单提交等;
HttpSession:在一定会话期间使用;
ServletContext:总是有效,关闭服务器后失效。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础 Jvm如何加载类?如何分配空间?
Java基础 Jvm如何加载类?如何分配空间?指的是将 class 文件的二进制数据读入到运行时数据区(JVM在内存中划分的)中,并在方法区内创建一个 class 对象JVM 运行起来时就给内存划分空间,这块空间就称为运行时数据区。
7754
2019-06-03 15:41:22
Java基础学习:面向过程与面向对象
刚开始学编程的时候都会遇到一个思维转变的过程,从原来人类思维模式转变成机器可以接受的思维模式。这个过程是非常难的,这也是为什么互联网人才能够获得高薪的原因。对于Java学习,面向过程可能更接近人的正常思维,而面向对象思维就是一个巨大的挑战了。本文就和大家聊一聊关于面向过程和面向对象的优劣。
7039
2019-06-24 18:35:01
Java语言核心语法和Java核心基础知识教程内容
Java语言核心语法和Java核心基础知识教程内容,Java基础精讲课程主要讲解:Java语言核心语法、面向对象程序设计、常用API、集合框架、IO流、多线程、网络编程、反射技术、常用设计模式、JDK新特性等JavaSE各个领域的知识,帮助学习者建立和夯实Java语言基础。
5446
2019-10-15 15:40:38
Java入门基础课程学什么?
作为一名程序员有坚实的Java基础知识对于后期的开发非常重要,零基础入门的Java初学者应该学习哪些内容呢?Java课程学习面向对象、Java语法、JSP和HTML、WebServer、开发工具、框架等内容。
3621
2020-10-15 17:39:43
Kafka消息的分发流程是什么?
使用kafka向指定Topic发送消息时,如果该Topic具有多个partition,无论消费者有多少,最终都会保证一个partition内的消息只会被一个Consumer group中的一个Consumer消费,也就是说同一Consumer group中的多个Consumer自动会起到负载均衡的效果。
2316
2022-09-16 15:31:50