【方法1】request.getSession.setAttribute
【方法2】request.setAttribute
相信很多初学的小伙伴对方法1和方法2,也充满了疑问,因为他们俩的作用都是把参数存入内存中,然后取出,或者被其他方法调用,但是不知道什么情况下用什么方法
【图1】
【图2】
就好比这两个例子,我刚开始的时候也有些疑惑,这不是用哪个都行嘛,但是在做项目的过程中,发现,并不是这样的,而是有特定的用法, 在上网查询了一些资料后,发现【方法1】会停留在内存中,只要不remove就可以一直存在,而【方法2】用完内存会自动删除,就好比浏览器关闭后,【方法1】中的数据还会存在,而【方法2】中的数据已经消失了
这里我自己做了一个例子
运行tomcat输入Text1Servlet的路径
打印的结果是没问题的,都可以获取到,但是当我们把浏览器关闭,再次打开浏览器,再输入相同的Text1Servlet路径,我们就会发现
使用【方法1】的数据依旧存在,而【方法2】的数据已经丢失
到这里我们就知道了,当需要持续性的输出数据时就是用【方法1】,当数据只需要获取一次时,就是用【方法2】
很多小伙伴这里会说,那直接用方法1不就好了,所有数据一直存在,但是这样会非常消耗内存,还是要考虑清楚的好
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/13389.html