`
- 浏览:
409393 次
- 性别:
- 来自:
北京
-
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]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
request、session和application是Servlet编程中三种重要的域对象,它们各自管理着特定范围的数据存储。本文将深入解析这三者的概念、特点以及它们...了解和掌握这三者的区别和联系,对于提升Java Web开发技能至关重要。
Struts2作为一款流行的Java Web框架,极大地简化了MVC(模型-视图-控制器)应用的开发。...对于初学者,建议结合官方文档、教程和示例代码,逐步熟悉并掌握Struts2中的request、session和application对象的使用。
作为Servlet的三大域对象之一(request、session、application/ServletContext),`HttpSession`提供了多种方法,如设置和获取属性、检查会话是否有效、以及销毁会话等。开发者可以通过`setAttribute()`和`...
### 三、Session对象 5. **Session对象**:在Web应用程序中,session是跟踪用户状态的关键。它通过`session.getAttribute()`和`session.setAttribute()`来存储和获取用户特定的数据。一个session对应于用户的整个...
- 在`sendRedirect()`方法中,调用者和被调用者使用各自的`request`对象和`response`对象,属于两个独立的请求和响应过程。 #### 五、数据共享 在Java Web开发中,有三种主要的数据共享范围: 1. **...
此外,HttpSession和ServletContext对象分别用于存储session和application级别的共享数据。 1.2 JSP组件 JSP是一种结合了HTML和Java的页面,它的执行过程涉及到JSP容器将JSP转换为Servlet源码,再编译为Servlet类。...
JSP内置对象如request、response、session和application,为开发者提供了与HTTP请求和响应交互的能力。 此外,书中还会介绍JSP表达式语言(EL,Expression Language)和JSP标准标签库(JSTL),这是两种简化JSP页面...
熟悉request对象的方法,如getParameter、setAttribute等,session管理和ServletContext。了解Filter和web.xml配置,以及Tomcat服务器。理解HTTP协议的无状态性,以及cookie和JSP作用域对象。 9. **HTML与...
request 表示 HttpServletRequest 对象,它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie、header 和 session 数据的有用的方法。response 表示 HttpServletResponse 对象,并提供了几个用于设置送回...
1. **数据获取**:EL表达式能够帮助开发者从不同的Web域(例如page、request、session、application)中检索Java对象和数据。 2. **执行运算**:EL表达式还支持基本的关系运算、逻辑运算和算术运算,这使得开发者...
这个类可以继承TagSupport或者BodyTagSupport,两者的差别是前者适用于没有主体的标签,而后者适用于有主体的标签。如果选择继承TagSupport,可以实现doStartTag和doEndTag两个方法实现Tag的功能,如果选择继承...
学习JSP基础,包括JSTL的使用,以及四大作用域(pageContext, request, session, application)的区别和应用。实践使用JavaScript进行表单验证,如验证电子邮件格式。 第三阶段(三个月): 5. **Struts框架**:...
Portal、Portlet和Portlet容器三者之间存在紧密的联系。Portal作为用户界面的框架,通过Portlet容器管理Portlet组件,并最终将Portlet生成的内容呈现给用户。 #### 版本兼容性与JSR286新特性 JSR286是Java ...
- **解答**:JSP的主要内置对象包括:`application`、`exception`、`pageContext`、`request`、`response`、`session`、`out`、`config`、`page`。 #### 9. HTTP协议 - **题目描述**:描述HTTP协议的特点及其请求...
在JavaWeb中,"四种属性范围 内置对象.pdf"可能会详细讲解四大作用域(page、request、session、application)以及它们对应的内置对象,如PageContext、HttpServletRequest、HttpSession和ServletContext。...
讲解了JSP的隐含对象(如request、response、session、pageContext等)及其作用域,帮助学生理解如何在不同范围内共享数据。 实验八:Web组件重用与JavaBeans 介绍了JavaBeans的概念,以及如何在JSP中使用JavaBeans...
JSP内置对象,如application、session、request等,是由Web容器提供的,它们在JSP页面中可以直接使用。JavaBean在JSP中的应用则允许开发者将业务逻辑封装为可重用的组件,通过jsp:useBean、jsp:setProperty和jsp:...
ServletConfig提供了Servlet容器初始化时传给Servlet的信息,包括ServletContext,后者是整个Web应用的共享环境。 3. JavaBean:JavaBean是符合JavaBeans规范的Java类,通常用于封装数据并提供给JSP或其他组件使用...