社区
Web 开发
帖子详情
Session与ServletContext有什么关系?
Conqueror_lee
2008-03-31 07:09:28
ServletContext是一个Web应用对象,也是一个Servlet容器,一个Web应用里的所有Servlet都共享其资源或数据.
那请问Session跟它有什么联系?
Session应该也是容器吧,我查了查JEE的API文档,里面的HttpSession里面也能得到ServletContext对象,这说明什么?Session跟一个Web应用有什么关系或联系呢?
感谢大家肯帮助我,谢谢你们了!!!!
...全文
967
19
打赏
收藏
Session与ServletContext有什么关系?
ServletContext是一个Web应用对象,也是一个Servlet容器,一个Web应用里的所有Servlet都共享其资源或数据. 那请问Session跟它有什么联系? Session应该也是容器吧,我查了查JEE的API文档,里面的HttpSession里面也能得到ServletContext对象,这说明什么?Session跟一个Web应用有什么关系或联系呢? 感谢大家肯帮助我,谢谢你们了!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangdongqiang8
2011-05-23
打赏
举报
回复
你可以把session当做看电影的门票,当你在电影院门口买票(浏览器请求)是电影院会给你一张票,但是吧其实这里给你的只是一张电影票的编号(sessionID),当你进入影院看电影时,影院可能会中途查票(服务器却是对每次请求都对sessionId进行验证),而这张电影票除了可以让你看电影外,还可以记录你在电影院里的消费情况(有点儿像会员卡了),但是当你离开电影院之后,电影院就会销毁这场电影关于你的票据记录(当然正常情况下是不会的,也就是session失效,就像是电话线断了,但是因为是无状态协议,也就说不是想电话那样一直通话,而是需要的时候,比如发送请求的时候,才会根据sessionid来进行验证,就像账号密码似地,然后服务器可以吧你的一些操作或者权利权限放在session中,以保证你下一次请求的时候,服务器能够认出是你)
说的有点儿乱了
IceJelly
2011-05-23
打赏
举报
回复
结帖率亮了
haitao_zhang
2011-05-23
打赏
举报
回复
你把session 当成 身份证
你把application 当成 派出所
就可以理解了。
小二郎
2011-05-23
打赏
举报
回复
学习。。。。。
facc
2011-05-23
打赏
举报
回复
区别在于session是局部的,servletContext是共享的.
当换了另一个窗口开始访问又从0开始计数,而servletContext则是接下去计数.
facc
2011-05-23
打赏
举报
回复
还是不懂
duancj_1982
2008-06-12
打赏
举报
回复
我觉得session是由servletContext维护的一个线程变量
songfuqiang
2008-04-03
打赏
举报
回复
学习..
临远
2008-03-31
打赏
举报
回复
会话都在服务器啊。
每个用户打开浏览器就服务器就会给它生成一个sessionId,浏览器或者把这个sessionId放到cookie里,或者每次请求都带在url后边(自动的),然后服务器就拿到这个sessionid,在内存里翻啊翻啊,翻出对应的session来,就这么对应上的。
无聊吧。
薛定谔之死猫
2008-03-31
打赏
举报
回复
Session代表浏览器和WEB服务器的会话状态,由于HTTP是无状态的,当浏览器向WEB服务器发送请求,WEB服务器在处理请求并将处理结果返回浏览器后,就会主动断开连接(当然这个在HTTP1.0和HTTP1.1协议之间稍有不同),这样如果你的浏览器再次发送请求时,WEB服务器不知道你之前干过什么,这样对于一些有事务性的业务就没办法满足了,因此Servlet容器就在后台保存一个Session对象,用于记录这些信息,如果你不使用浏览器的Cookie或在服务器端使用URL重定向的话,过缺省的一段时间后,Servlet容器就会销毁这个Session对象,后继的请求就会创建的新的Session来记录相关信息。
ServletContext是针对WEB应用程序来说的,是WEB应用程序运行在它描述的上下文之下,和Session一样,你可以手动在上面放置一些信息,以便后继的操作中提取
你说的内存空间问题其实你不用去关心的,这是JVM解决的问题,并且Java在这一块几乎就是透明,你只要创建,满足条件的时候垃圾回收机制会进行内存的回收
说的粗糙了点,不知道你明白没有
jinweifu
2008-03-31
打赏
举报
回复
会话(从打电话来理解)是维护一系列对话的工具,一个会话由多个对话组成,由于HTTP WEB是无状态的,就是一次对话,下一次可能就不知道以前进行到什么程度了,所以在服务器端维护一个Session对象,每一个客户端都对应有自己跟服务器对话的状态信息集合,那个集合就是SESSION(会话),最好去看看网络通信,这样就能明白会话有多重要
同理,由于Servlet容器也是一个共享的资源,很多servlet需要得到与自己本身相关的信息,包括自己所处的环境(环境是什么呢:就是所有与自己有联系的资源的集合,这个就得根据抽象程度了)
上下文(Context)是维护某个资源状态的东西,根据当前所在的层次对不同CONTEXT访问以取得关心的信息
以上都是本人自己的理解,不知道更正确的理解是怎样的?
jinweifu
2008-03-31
打赏
举报
回复
你如果是美女的话打个电话我告诉你
Conqueror_lee
2008-03-31
打赏
举报
回复
快沉了啊!!!
Conqueror_lee
2008-03-31
打赏
举报
回复
LS,,是在不同的内存空间上吗??
还是这100个都在WEB应用容器里??
benro
2008-03-31
打赏
举报
回复
session是web服务器对每一个客户端产生的,如果有100个客户端同时访问web服务,那么在服务器的内存中就会有100个不同的session。
Conqueror_lee
2008-03-31
打赏
举报
回复
我的意思是,我不知道该怎么去理解Session,太抽象了,而且这个Session对象在服务器里是一个独有的内存空间还是放在Web应用容器中的???
比如说,Web应用容器相当于一个大盒子,是不是这个Session对象的空间也放在这个盒子里的,还是Session对象是放在另一个地方的?
我的理解就是Web应用容器是一个盒子,里面放了Servlet对象和Session对象,但这样觉得理解起来挺困难的,所以才出来问问,怕走如歧途!!!!
Conqueror_lee
2008-03-31
打赏
举报
回复
没看懂!!5555555555555
临远
2008-03-31
打赏
举报
回复
请参考我们教程中对session的介绍:
http://www.family168.com/tutorial/jsp/html/jsp-ch-04.html
pyantking
2008-03-31
打赏
举报
回复
谈谈自己的看法:
HttpSession相当于JSP中的session
ServletContext相当于JSP中的application。
两者的作用域,范围不一样
ServletContext是servlet中定义的接口,当然HttpSession可以调用到ServletContext对象
JSP2.0技术手册pdf(带示例源码).zip
书名:JSP 2.0 技术手册(电子书) 格式:PDF 出版:电子工业出版社 作者:林上杰、林康司 本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术:Java
Servlet
与JavaServer Pages。 它们是最重要的 Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章
Servlet
2.4 简介 2-1
Servlet
简介 2-2 First
Servlet
Sample Code 2-3
Servlet
的生命周期 2-4
Servlet
范例程序 2-5
Servlet
2.4 的新功能 第三章 JSP 2.0 简介 3-1 JavaServer Pages 技术 3-2 What is JSP 3-3 JSP 与
Servlet
的比较 3-4 JSP 的执行过程 3-5 JSP 与 ASP 和 ASP+ 的比较 3-6 JSP 2.0 新功能 第四章 JSP 语法 4-1 Elements 和 Template Data 4-2 批注(Comments) 4-3 Quoting 和 Escape 规则 4-4 Directives Elements 4-5 Scripting Elements 4-6 Action Elements 4-7 错误处理 第五章 隐含对象(Implicit Object) 5-1 属性( Attribute ) 与范围( Scope ) 5-2 与
Servlet
有关的隐含对象 5-3 与 Input / Output 有关的隐含对象 5-4 与
Context
有关的隐含对象 5-5 与 Error 有关的隐含对象 第六章 Expression Language 6-1 EL 简介 6-2 EL 语法 6-3 EL 隐含对象 6-4 EL 算术运算符 6-5 EL
关系
运算符 6-6 EL 逻辑运算符 6-7 EL 其他运算符 6-8 EL Functions 第七章 JSTL 1.1 7-1 JSTL 1.1 简介 7-2 核心标签库(Core tag library) 7-3 I18N 格式标签库(I18N-capable formatting tags library) 7-4 SQL 标签库(SQL tag library) 7-5 XML 标签库(XML tag library) 7-6 函数标签库(Functions tag library) 第八章 JSP 与 JavaBean 8-1 JavaBean 的简介 8-2 JSP 与 JavaBean 8-3 JavaBean 的范围 8-4 JavaBean 的移除 第九章 网页窗体的处理 9-1 HTML 窗体如何传送数据 9-2 窗体中常见的输入类型 9-3 JSP 处理窗体 9-4 文件上传—— Oreilly 上传组件 9-5 jspSmartUpload ——上传和下载 9-6 本文区输入类型(Textarea) 第十章
Session
Tracking 10-1 Stateful & Stateless 10-2
Session
Tracking 的四种方法 10-3
Session
的生命周期 10-4 Http
Session
BindingListener 接口 10-5 Shopping Cart 范例程序一 10-6 Shopping Cart 范例程序二 第十一章 Filter 与 Listener 11-1 Filter 简介 11-2 Filter 的运作方式 11-3 实现阶段第一个 Filter 11-4 对请求做统一的认证处理 11-5
Servlet
Request 和
Servlet
Response 之 Wrapper 类 11-6 使用 Filter 来解决中文问题 11-7 Listener 接口简介 11-8
Servlet
Context
Listener 11-9 Http
Session
Listener 11-10
Servlet
Request Listener 第十二章 JSP 执行环境与开发工具 12-1 Tomcat 5.0 的介绍 12-2 JSP 开发工具介绍 12-3 Eclipse 简介与安装 12-4 使用 Eclipse 开发 Hello
Servlet
Context
、
Session
、Request区别
1.作用域不同
Servlet
Context
:是
Servlet
上下文,针对所有客户端,相当于一个全局变量,只要服务器不关闭,所有用户都可以访问,共享数据,比如统计聊天室在线人数。
session
是一次会话,针对一个用户(浏览器),从打开到关闭会话结束,有的人说的
session
从浏览器打开到关闭并不是
session
生命周期结束了,在服务端还有,只是在客户端浏览器关闭,会话cookie结束,所以我们下次再去访问服务器就不是带的同一个
session
id。request针对一个请求,请求转发,用完就扔2.生命周期Ser
Servlet
- Request、
Session
、
servlet
Context
区别
转自:https://www.cnblogs.com/javadu/archive/2011/11/25/2263799.html 就
servlet
规范本身,
servlet
可以再三个不同的作用域存储数据,分别是: Request对象、
Session
对象和get
Servlet
Context
()方法返回的
servlet
Context
对象中保存。以下是本人对他们之间区别的分析:
context
session
request
关系
整理
context
session
request
关系
整理 这里描述的是java web开发中的含义,三者都可以通过使用serAttribute方法保存键值对用于共享变量,只是作用域不一样,范围由大到小为
context
、
session
、request。
context
context
意为“上下文”,即程序的运行环境。
Servlet
Context
这个是web应用级的上下文。web容器(比如tomcat、jboss、weblogic等)启动的时候,它会为每个web应用程序创建一个
Servlet
Context
application和
Servlet
Context
的
关系
相同点: 其实
servlet
Context
和application 是一样的,就相当于一个类创建了两个不同名称的变量。 在
servlet
中
Servlet
Context
就是application对象。 大家只要打开jsp编译过后生成的
Servlet
中的 _jspService()方法就可以看到如下的声明:
Servlet
Context
application = null; application = page
Context
.get
Servlet
Context
(); 不同点: 两者的区别就是applicati
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章