`
高级java工程师
  • 浏览: 408167 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Session 和request和servletContext 三者区别

阅读更多
[color=green]就servlet规范本身,servlet可以再三个不同的作用域存储数据,分别是:              Request对象、Session对象和getServletContext()方法返回的servletContext对象中保存。以下是本人对他们之间区别的分析:
    1    首先从作用范围来说
    Request       保存的键值仅在下一个request对象中可以得到。
    Session        它是一个会话范围,相当于一个局部变量,从Session第一次创建知道关闭,数据都一直 保存,每一个客户都有一个Session,所以它可以被客户一直访问,只要Session没有关闭和超时即浏览器关闭。
    servletContext    它代表了servlet环境的上下文,相当于一个全局变量,即只要某个web应用在启动中,这个对象就一直都有效的存在,所以它的范围是最大的,存储的数据可以被所有用户使用,只要服务器不关闭,数据就会一直都存在。
    2   它们的优缺点:
    request:
    好处:用完就仍,不会导致资源占用的无限增长。
    弊处:数据只能被下一个对象获取,所以在写程序时会因为无法共享数据导致每次要用都从数据库中取,多做操作,自然会对性能有一些影响。
    session:
    好处:是一个局部变量,可以保存用户的信息并直接取出,不用每次都去数据库抓,少做操作,极大的方便了程序的编写。
    弊处:每个客户都有一个session,只能自己使用,不同session可能保存大量重复数据; 可能耗费大量服务器内存; 另外session构建在cookie和url重写的基础上,所以用session实现会话跟踪,会用掉一点点服务器带宽和客户端保持联络, 当然session越多,耗费的带宽越多,理论上也会对性能造成影响。 集群的session同步会是个问题。
    servletContext:
    好处:不用每次都去数据库抓,少做操作。 存储的数据所有客户都可以用。 可减少重复在内存中存储数据造成的开销。
color]
分享到:
评论

相关推荐

    关于servlet中request,session,application三者关系的形象解析

    request、session和application是Servlet编程中三种重要的域对象,它们各自管理着特定范围的数据存储。本文将深入解析这三者的概念、特点以及它们...了解和掌握这三者的区别和联系,对于提升Java Web开发技能至关重要。

    Struts2学习笔记(三) Struts2中访问request,session,和application对象

    Struts2作为一款流行的Java Web框架,极大地简化了MVC(模型-视图-控制器)应用的开发。...对于初学者,建议结合官方文档、教程和示例代码,逐步熟悉并掌握Struts2中的request、session和application对象的使用。

    Java Web程序设计入门课件-Session对象.pptx

    作为Servlet的三大域对象之一(request、session、application/ServletContext),`HttpSession`提供了多种方法,如设置和获取属性、检查会话是否有效、以及销毁会话等。开发者可以通过`setAttribute()`和`...

    JAVA遇见HTML——JSP篇

    ### 三、Session对象 5. **Session对象**:在Web应用程序中,session是跟踪用户状态的关键。它通过`session.getAttribute()`和`session.setAttribute()`来存储和获取用户特定的数据。一个session对应于用户的整个...

    java servlet请求转发重定向

    - 在`sendRedirect()`方法中,调用者和被调用者使用各自的`request`对象和`response`对象,属于两个独立的请求和响应过程。 #### 五、数据共享 在Java Web开发中,有三种主要的数据共享范围: 1. **...

    Struts框架 架构 应用 演示 ppt

    此外,HttpSession和ServletContext对象分别用于存储session和application级别的共享数据。 1.2 JSP组件 JSP是一种结合了HTML和Java的页面,它的执行过程涉及到JSP容器将JSP转换为Servlet源码,再编译为Servlet类。...

    Head+First+Servlet+and+JSP

    JSP内置对象如request、response、session和application,为开发者提供了与HTTP请求和响应交互的能力。 此外,书中还会介绍JSP表达式语言(EL,Expression Language)和JSP标准标签库(JSTL),这是两种简化JSP页面...

    java项目开发总结.pdf

    熟悉request对象的方法,如getParameter、setAttribute等,session管理和ServletContext。了解Filter和web.xml配置,以及Tomcat服务器。理解HTTP协议的无状态性,以及cookie和JSP作用域对象。 9. **HTML与...

    javaweb 简历

    request 表示 HttpServletRequest 对象,它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie、header 和 session 数据的有用的方法。response 表示 HttpServletResponse 对象,并提供了几个用于设置送回...

    Java-EL表达式语言讲解,适合初级人员入门学习

    1. **数据获取**:EL表达式能够帮助开发者从不同的Web域(例如page、request、session、application)中检索Java对象和数据。 2. **执行运算**:EL表达式还支持基本的关系运算、逻辑运算和算术运算,这使得开发者...

    JSP面试题及答案借鉴.pdf

    这个类可以继承TagSupport或者BodyTagSupport,两者的差别是前者适用于没有主体的标签,而后者适用于有主体的标签。如果选择继承TagSupport,可以实现doStartTag和doEndTag两个方法实现Tag的功能,如果选择继承...

    java 学习的顺序(初学者)

    学习JSP基础,包括JSTL的使用,以及四大作用域(pageContext, request, session, application)的区别和应用。实践使用JavaScript进行表单验证,如验证电子邮件格式。 第三阶段(三个月): 5. **Struts框架**:...

    IBM portlet开发指南

    Portal、Portlet和Portlet容器三者之间存在紧密的联系。Portal作为用户界面的框架,通过Portlet容器管理Portlet组件,并最终将Portlet生成的内容呈现给用户。 #### 版本兼容性与JSR286新特性 JSR286是Java ...

    JAVA期末试卷以及答案.pdf

    - **解答**:JSP的主要内置对象包括:`application`、`exception`、`pageContext`、`request`、`response`、`session`、`out`、`config`、`page`。 #### 9. HTTP协议 - **题目描述**:描述HTTP协议的特点及其请求...

    如何学习java,循序渐进。

    熟悉request、response对象的方法,ServletContext类,以及Cookie和Session的管理。掌握JSP的语法,包括JSTL标签库,并通过实践项目来巩固这些知识。 6. **Struts框架**:学习Model 1和Model 2架构,理解Struts的...

    李兴华JavaWeb培训经典笔记

    在JavaWeb中,"四种属性范围 内置对象.pdf"可能会详细讲解四大作用域(page、request、session、application)以及它们对应的内置对象,如PageContext、HttpServletRequest、HttpSession和ServletContext。...

    JavaWeb编程技术实验指导书.pdf

    讲解了JSP的隐含对象(如request、response、session、pageContext等)及其作用域,帮助学生理解如何在不同范围内共享数据。 实验八:Web组件重用与JavaBeans 介绍了JavaBeans的概念,以及如何在JSP中使用JavaBeans...

    软件构件与中间件技术.pdf

    JSP内置对象,如application、session、request等,是由Web容器提供的,它们在JSP页面中可以直接使用。JavaBean在JSP中的应用则允许开发者将业务逻辑封装为可重用的组件,通过jsp:useBean、jsp:setProperty和jsp:...

    j2ee学习要掌握的知识

    ServletConfig提供了Servlet容器初始化时传给Servlet的信息,包括ServletContext,后者是整个Web应用的共享环境。 3. JavaBean:JavaBean是符合JavaBeans规范的Java类,通常用于封装数据并提供给JSP或其他组件使用...

Global site tag (gtag.js) - Google Analytics