request.getSession.setAttribute和request.setAttribute区别

request.getSession.setAttribute和request.setAttribute区别【方法1】request.getSession.setAttribute【方法2】request.setAttribute相信很多初学的小伙伴对方法1和方法2,也充满了疑问,因为他们俩的作用都是把参数存入内存中,然后取出,或者被其他方法调用,但是不知道什么情况下用什么方法【图1】【图2】就好比这两个例子,我刚开始的时候也有些疑惑,这不是用哪个都行嘛,但是在做项目的过程中,发现,并不是这样的,而是有特定的用法,在上…

【方法1】request.getSession.setAttribute

【方法2】request.setAttribute

        相信很多初学的小伙伴对方法1和方法2,也充满了疑问,因为他们俩的作用都是把参数存入内存中,然后取出,或者被其他方法调用,但是不知道什么情况下用什么方法

        【图1】request.getSession.setAttribute和request.setAttribute区别

         【图2】   request.getSession.setAttribute和request.setAttribute区别

         就好比这两个例子,我刚开始的时候也有些疑惑,这不是用哪个都行嘛,但是在做项目的过程中,发现,并不是这样的,而是有特定的用法, 在上网查询了一些资料后,发现【方法1】会停留在内存中,只要不remove就可以一直存在,而【方法2】用完内存会自动删除,就好比浏览器关闭后,【方法1】中的数据还会存在,而【方法2】中的数据已经消失了

        这里我自己做了一个例子

        request.getSession.setAttribute和request.setAttribute区别

 request.getSession.setAttribute和request.setAttribute区别

         运行tomcat输入Text1Servlet的路径

        request.getSession.setAttribute和request.setAttribute区别

         打印的结果是没问题的,都可以获取到,但是当我们把浏览器关闭,再次打开浏览器,再输入相同的Text1Servlet路径,我们就会发现

request.getSession.setAttribute和request.setAttribute区别

        使用【方法1】的数据依旧存在,而【方法2】的数据已经丢失

        到这里我们就知道了,当需要持续性的输出数据时就是用【方法1】,当数据只需要获取一次时,就是用【方法2】

        很多小伙伴这里会说,那直接用方法1不就好了,所有数据一直存在,但是这样会非常消耗内存,还是要考虑清楚的好

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/13389.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注