记一篇IT培训日记053-吃醋

04月05日 小阴 一般般

        今天还是web相关知识点,session,cookie,servletContext及相关的API。课后小C破天荒来请教我,而小胖居然吃醋了,哈哈。

        小C:叶子哥,刀哥说的request,session,servletContext3个作用域对象,不是很理解,你能跟我梳理一下么?

        那一瞬间,从右手边迸发出凌冽的杀意,来者不善。只见小胖"饿狠狠"看着我,一副恶犬护食的态势。嘿嘿,小样~

        我:具体哪里不理解呢?问之前一定要有自己的理解,要不这就得有个很大的回答范围。

        小C:我也不知道,感觉记住了几个名词,然后是啥就不知道啦。

        我:那不就是从0来么。

        小C:哦,差不多吧。

        我:好吧,跟你说下我是如何从0开始学一个新知识点。以刚刚问题为例子,我们都知道request, session, servletContext都是作用域对象,用于数据共享。好,到这,如果仅仅理解这个概念,那么"是什么"我们根本没做到位,说句不好听的,你仅仅是记住3个名词。这里你需要围绕这3个概念尝试去思考:1>为什么需要进行数据共享 2>为什要有3个数据共享对象 3>怎么进行数据共享。4>开发中有啥用。通过这些思考,你会发现数据共享这个知识点就立体化了,思路由一个点,拓展成4个点,路走宽了。接下来我们围绕着这4个点一一展开:

        1>为什么要进行数据共享

        如果从A页面跳到B页面,如果需要带上a数据怎么办?

        一个网站,A页面,B页面,C页面.....等都需要显示某个数据怎么办?

        一个项目,有一些固定不变参数,需要提前加载,方便后续使用,这数据存放在哪?

        上面这些都涉及到数据存储,换一种讲法就是数据共享。java web提出解决方案是共享对象。

        2>为什么要有3个数据共享对象

        request:2个请求间数据共享

        session:一次会话间数据共享

        servletContext:一个web容器间数据共享

        从数据共享范围上看, web容器>会话>请求

        一个web容器可以创建n多个会话,一个会话中可以包含n多个请求。以百度网站为例子,A页面跳转到B页面需要携带数据,request共享即可。百度网站登录之后,各个页面都显示你登录头像,可以理解我一个会话中,n多个请求间数据共享,那肯定选择session共享。百度这个网站项目某些数据需要给所有用户使用,那就是servletContext共享啦。

        3>怎么进行数据共享

        统一的操作api

        数据共享对象.setAttribute(key, value)  /  数据共享对象.getAttribute(key);

        4>开发中有啥用

        目前想到的就是刚刚说的案例作用

        到这,基本上可以认为数据共享这个知识点学到位了,我个人认为。

        小C:哦,好像有点明白了,我去梳理一下。

        我:好~

        小C走后,小胖醋坛子都翻了

        小胖:叶子哥,小C为不问我呢,为啥,难道她对你有意思?卧槽,那以后你就是我情敌啦~

        我:滚~一边去,女人只会影响我编码速度~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪飞yes

我对钱没兴趣~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值