首页 > 其他分享 >妙解Servlet四大域对象

妙解Servlet四大域对象

时间:2024-09-06 11:53:17浏览次数:12  
标签:变量 作用域 妙解 request application session 四大 Servlet 页面

pageContext

pageContext作用域为page(页面执行期)。

 

request

request是表示一个请求,只要发出一个请求就会创建一个request,它的作用域仅在当前请求中有效。

用处:常用语服务器间同一请求不同页面之间的参数传递,常用语表单的控件值传递。

方法:request.setAttribute();    reuqest.getAttribute();

          request.removeAttribute();    request.getParameter();

 

session

服务器会为每一个会话创建一个Session对象,所以Session中的数据可供当前会话中所有Servlet共享。

用处:常用于web开发中的登录验证界面(当用户登陆成功后浏览器分配其中一个Session键值对)。

方法:session.setAttribute();    session.getAttribute();

          session.removeAttribute();

获取Session对象:

            HttpSession session = request.getSession();

 

Application(ServletContext上下文)

作用范围:所有的用户都可以取得此信息,此信息在整个服务器端被保留。Application属性范围值只要设置一次,则所有的网页窗口都可以取得数据。ServletContext在服务器启动时创建,在服务器关闭时销毁,一个JavaWeb应用只创建一个ServletContext对象。

方法:ServletContext application = this.getServletContext();

           application.setAttribute();    application.getAttribute();

            application.removeAttribute();

 

 

Servlet作用域

例如,我们访问index.jsp的时候,分别对pageContext、request、session、application四个作用域进行累加。                      计算完成后就从index.jsp执行forward转发到test.jsp,在test.jsp里再进行一次累加,然后显示出这四个整数来。

从结果来看:

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

②request里的变量可以跨越forward前后两页。但是只要刷新页面,它们就重新计算了。

③session和application的变量一直在累加,开始还看不出区别,只要关闭浏览器,再次重启浏览器访问这个页面,session里的变量就重新计算了。application里的变量一直在累加,除非你重启Tomcat,否则它会一直变大。 

 

作用域规定的是变量的有效期限

①如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前JSP页面里。从把变量放到pageContext开始,知道JSP页面跳转都可以使用。

②如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。所谓请求周期:就是从Http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个JSP页面,在这些页面里,你都可以使用这个变量。

③如果把这个变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。所谓当前会话:就是指从用户打开浏览器开始,知道用户关闭浏览器这中间的过程,这个过程可能包含多个请求响应。也就是说,只要用户不关闭浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话,而放到会话中的变量,就可以在当前会话的所有请求里使用。

④如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。所谓整个应用:是指从应用启动到应用结束。application里的变量存活时间最长,如果不进行手动删除,它们就一直可以使用。 



标签:变量,作用域,妙解,request,application,session,四大,Servlet,页面
From: https://blog.51cto.com/zhangxueliang/11937081

相关文章

  • 实施云检测响应(CDR)的四大开源工具
    什么是CDR?实施CDR的最佳实践四个流行的CDR开源工具原创全栈网络空间安全云检测和响应(CDR)是指识别和响应云环境中潜在的安全威胁。随着越来越多的企业将运营转移到云端,制定有效的云检测响应策略并部署正确的工具来预防潜在安全漏洞变得越来越重要。本文,我们将介绍什么是......
  • BroadcastReceiver 广播-Android四大组件 一文精讲
    目录1.广播用途与机制1.1什么时候用broadcast?1.2原理图解2.注册广播2.1静态注册2.2动态注册2.3二者区别与联系同:异:3.接受广播3.1接收系统广播3.2接收自定义附带值广播4.发送自定义广播4.1发送无序广播4.2发送有序广播4.3发送应用程序内部广播1.广播用途与......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    目 录摘要1绪论1.1研究背景1.2研究意义1.3论文结构与章节安排2 自助洗衣房管理系统系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3数据删除流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析......
  • 游泳耳机哪个牌子好?精选四大不踩坑高销量的游泳耳机!
    随着科技的进步和人们对于健康生活方式的追求,游泳已成为越来越多人喜爱的运动方式之一。然而,在水中畅游的同时,享受音乐或有声读物成了许多人的新需求。游泳耳机应运而生,它不仅能够防水,还能确保在水下依然能听到清晰的声音。(上图是部分我测评时实测过的游泳耳机)面对市场上琳......
  • 游泳耳机哪个牌子好?精选四大游泳耳机综合测评及盘点!
    在追求健康与活力的今天,游泳作为一项全身性的运动,越来越受到人们的青睐。它不仅能够锻炼心肺功能,还能塑造优美的体型。对于许多游泳爱好者来说,在水中畅游的同时,如果能有音乐的陪伴,无疑会为运动增添更多的乐趣。因此,一款优质的游泳耳机成为了游泳爱好者的必备装备。(上图汇总......
  • 300蓝牙耳机音质推荐有哪些?四大百元公认好音质机型盘点
    无论是在通勤途中、健身时刻还是休闲娱乐时光,一款优秀的蓝牙耳机都能为用户提供出色的音乐伴随,然而面对市场上琳琅满目的品牌和型号,消费者往往难以抉择,特别是当预算控制在300元左右时,300蓝牙耳机音质推荐有哪些?为了针对这个问题,为此,我精心筛选并测试了一系列在百元价位区间内表......
  • 平价蓝牙耳机哪个音质好性价比高?四大超值平价机型推荐
    在当今市场上,蓝牙耳机的选择众多,从高端品牌到平价型号,消费者面对的选择可谓是五花八门,并非每个人都愿意或能够负担得起昂贵的价格以获取顶级音质,所以平价蓝牙耳机哪个音质好性价比高?对于那些寻求性价比的消费者来说,找到既经济实惠又能提供良好音质体验的蓝牙耳机是他们的首要任......
  • 数论四大定理——裴蜀定理
    好久不见,开学和假期天天搞csp实在没时间搞CSDN,终于抽出一点时间来写会文章了。我们先来看一道NOIP提高组的题目题目描述小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在......
  • servlet
    ServletServlet是Javaweb开发的基石,与平台无关的服务器组件(操作系统),它运行在Servlet容器/web应用服务器/Tomcat中,负责与客户端通信Servlet的功能1.创建并返回基于客户请求的动态HTML页面2.可以与数据库进行通信Servlet的使用Servlet本身是一种接口,存在与Javax.servle......
  • html之form标签的四大护法
    form表单下面的标签记住下面这几个就可以了,常用的也就这么多。1.input--用户名输入框<inputtype="text"name="username"placeholder="用户名">--密码输入框<inputtype="password"name="password"placeholder="密码">--复选框<in......