Servlet机制中Request、Session、servletContext的区别分析
就servlet规范本身, servlet可以再三个不同的作用域存储数据, 区分是: Request对象、Session对象和getServletContext()方法前往的servletContext对象中保管。 以下是本人对他们之间区别的分析: 1、 首先从作用范围来说 Request 保管的键值仅在下一个request对象中可以失掉。 Session 它是一个会话范围, 相当于一个局部变量, 从Session第一次创建知道关闭, 数据都一直 保管, 每一个客户都有一个Session, 所以它可以被客户一直访问, 只需Session没有关闭和超时即阅读器关闭。 servletContext 它代表了servlet环境的上下文, 相当于一个全局变量, 即只需某个web应用在启动中, 这个对象就一直都有效的存在, 所以它的范围是最大的, 存储的数据可以被所有用户运用, 只需服务器不关闭, 数据就会一直都存在。 2 、 它们的优缺陷: request: 好处:用完就仍, 不会导致资源占用的有限增长。 弊处:数据只能被下一个对象获取???栽谛闯绦蚴被嵋蛭?薹ü蚕硎?莸贾旅恐饕?枚即邮?菘庵腥。 ?嘧霾僮鳎?自然会对功用有一些影响。 session: 好处:是一个局部变量, 可以保管用户的信息并直接取出, 不用每次都去数据库抓, 少做操作, 极大的方便了程序的编写。 弊处:每个客户都有一个session, 只能本人运用, 不同session可能保管大量重单数据; 可能消耗大量服务器内存; 另外session构建在cookie和url重写的基础上, sportica.qq748.com sportica 所以用session实现会话跟踪, 会用掉一点点服务器带宽和客户端坚持联络, 当然session越多, 消耗的带宽越多, 理论上也会对功用形成影响。 集群的session同步会是个成绩。 servletContext: 好处:不用每次都去数据库抓, 少做操作。 存储的数据所有客户都可以用。 可减少重复在内存中存储数据形成的开销。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论