属性的问题
我doget中写的是
request.setAttribute("sc","sc1");
request.getSession().setAttribute("session","session");
request.getServletContext().setAttribute("context", "context");
我发现运行后访问网站,
request属性更新了
request属性增加了
session属性增加了
Context属性创建了
再次访问
request属性更新了
request属性增加了
session属性更新了
Context更新了
为啥request总是更新和增加一起出现呢,而且为啥请求完成后没有移除,我想的是连ServletRequest对象都没有了,怎么还会有属性呢
正在回答
同学你好,这里同学可以这样理解:
1、request作用域中需要调用removeAttribute方法,移除这个属性,才会触发attributeRemoved,删除方法,比如:
2、request作用域中存入的属性,只在当前的一次请求中有效,所以这个request会在请求结束后,作用域中的内容自动失效,不能再访问,但是它并不会去自动去专门调用removeAttribute方法,去移除这个属性。
所以属性移除的方法attributeRemoved并没有执行。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星