社区
Web 开发
帖子详情
关于ServletContext,Session,Request三者的关系
Conqueror_lee
2008-03-26 06:57:18
我是初学者,已知道三者都是容器,但不清楚三者的关系,听说是ServletContext包含Session,Session又包含Request,不知道对不对,有点迷惑!!
如果是上述所说那样,那请问Servlet又扮演什么角色呢??
Servlet是容器吗??
如果有图的话,请提供个我学习一下,这样更能详细的说明问题,我想!
感谢回复的朋友!!!!
...全文
2098
20
打赏
收藏
关于ServletContext,Session,Request三者的关系
我是初学者,已知道三者都是容器,但不清楚三者的关系,听说是ServletContext包含Session,Session又包含Request,不知道对不对,有点迷惑!! 如果是上述所说那样,那请问Servlet又扮演什么角色呢?? Servlet是容器吗?? 如果有图的话,请提供个我学习一下,这样更能详细的说明问题,我想! 感谢回复的朋友!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xwq0216
2012-11-02
打赏
举报
回复
关注一下!
JudeaWolf
2010-10-14
打赏
举报
回复
[Quote=引用 18 楼 judeawolf 的回复:]
[/Quote]ghjkl
JudeaWolf
2010-10-14
打赏
举报
回复
songfuqiang
2008-03-31
打赏
举报
回复
收藏下有时间慢慢研究.
Conqueror_lee
2008-03-27
打赏
举报
回复
能不能这样理解?
ServletContext,Session,Request这三个容器都放在WEB容器中如TOMCAT中,相当于容器中再套容器,而ServletContext就相当与一个能够控制Servlet这个的一个管家一样,管理着它的生命周期之类和通信只类的,而Session容器就是管理或者说控制请求来到时给客户端发送一个SessionID,并且自己服务端也保存一个SessionID,以便如果下次得到请求时做SessionID的比较,看是否是同一种请求,如果是就响应的速度就快一些.而Request容器之管理请求对象的,在建立会话的同时Request就建立了,但Request之做请求的事,比如从客户端得到客户相映的信息等,例如:属性值,报头信息,参数信息等等.但如何响应客户端,就需要通过会话容器保存的ID或者其他的信息来决定,再通过Response对象响应给客户端.
这样理解行吗??我觉得挺绕口的
Conqueror_lee
2008-03-27
打赏
举报
回复
11楼朋友,你说request对象可以从它的的setAttribute方法中传递一个对象,用来验证对方信息,获得发送发的文件内容??
这是什么意思,,setAttribute这个方法不是设置属性的方法吗???他怎么能获得文件内容呢???应该是getAttribute吧!!!
suloong
2008-03-27
打赏
举报
回复
webapp 指的就是那个包含了/WEB-INF/web.xml的,能打成war包的程序。这是java ee定义的标准的东西,符合这种格式的文件就可以被部署到java ee web container里。ServletContext, servlet, session 等都要不是容器,而是容内被管理的对象。容器是那个幕后黑手,它摆平一些低层问题,控制容器内组件的生命周期。你可以把容器想像成CD机,servlet等就是CD机里的CD,同样的CD机,放入不同的CD就可以播放出不同的音乐。
Conqueror_lee
2008-03-27
打赏
举报
回复
我还是觉得WEB应用程序这个概念有点太抽象了!!!
Conqueror_lee
2008-03-27
打赏
举报
回复
能说一下一个会话的具体过程吗,10楼回答了,但我还是没怎么看懂,客户端发起请求然后产生一个ID,这个是一个会话,还是请求,产生了ID,客户端得到了响应后,这样才算是一个会话过程呢??
11楼,,WEB应用程序能理解成TOMCAT吗??
ee4456
2008-03-27
打赏
举报
回复
WEB应用程序就是webapp咯,你每次不是把他部署到tomcat应用服务器上了吗?你就理解成一个b/s架构的系统就是了,比如说网站就是等等。//
goldlive_8888
2008-03-27
打赏
举报
回复
ServletContext是一个应用程序与Web容器(tomcat之类)交互的接口,同时它也是管理应用程序资源的对象,通过它可以读取web.xml中一些配置,如<context-param>中的信息,读取应用中的资源等。
session是一个会话对象,也就是说当客户端访问服务器页面时,它才产生,原理是服务器对每个客户端产生一个sessionid值,并把它也保存在客户端,每次请求时验证这个sessionid是否是创建了sessionid的客户端,在服务器端对应这个sessionid会创建一个缓存区,存储一些相关信息,程序员可以操作,如被用于购物车,存储用户信息等,这个区域只有对特定用户有访问权限,对其他客户是拒绝访问的,这就是一个会话。
request是一个请求对象,也就是说它的生命很短暂,只在一个请求中存在,如一个页面到另一个页面,一个页面到servlet或action,一个servlet或action到jsp页面等,你可以用它的setAttribute方法传递需要的信息(对象),验证请求方的信息,获得请求方发过来的文件内容等。
Conqueror_lee
2008-03-27
打赏
举报
回复
一个ECLIPISE中的WEB项目算不算WEB应用程序??
Conqueror_lee
2008-03-27
打赏
举报
回复
或者说"WEB应用程序"指的是什么??
Conqueror_lee
2008-03-27
打赏
举报
回复
继续问2楼..
你说的WEB应用程序都有一个与之相关的上下文,这"WEB应用程序"该怎么理解呢?能打个合适的比喻帮助我理解吗,我有点笨!!
badonly
2008-03-27
打赏
举报
回复
等待有个明确的答案
ee4456
2008-03-27
打赏
举报
回复
各种继承的环境都不一样,这个没必要在乎,你可以根据你的要求,下适合的。估计你和我一样用的myecilpse6.0我的也是700MB,还是BLUE版本的,最新刚下来的
pyantking
2008-03-27
打赏
举报
回复
不是吧,我ECLIPSE加MYECLIPSE一起才102M,你的项目不是全都放在ECLIPSE里面吧
Conqueror_lee
2008-03-27
打赏
举报
回复
请教一下我的My Eclipse里有一个OSGI/Minmum-1.0和1.1的包,这是做什么用的???
为什么我的My Eclipse有700多M啊,太大了,各位都有那么大吗??
ee4456
2008-03-26
打赏
举报
回复
servlet是服务器端的小程序,可以通过context得到,你默认的不是有个web.xml吗?那里边你配置的servlet不就把servlet的映射配置到WEB应用程序都一个与之相关的Servlet上下文。。当你/xxxservlet的时候,JVM或者说TOMCAT是不是根据上下文找的你的servlet对象呢?
我是这么理解的。。
Conqueror_lee
2008-03-26
打赏
举报
回复
"运行在JVM中的每一个WEB应用程序都一个与之相关的Servlet上下文."这句话该怎么理解啊??
Servlet上下文就是ServletContext这个容器,那也就是说每一个WEB应用程序都有一个ServletContext这个容器,那Servlet又是做什么,Servlet和上下文之间有什么关系呢???
本地模型部署指南[可运行源码]
本文详细介绍了如何访问和配置本地已部署的模型。首先,用户需要访问指定网址下载并安装chatbox软件。安装完成后,初次进入时需要选择使用自己的模型选项。接着,进入设置界面,选择模型提供方为ollama api,并输入相应的域名(如http://xxxxx:11434),其他设置保持默认,最后点击保存即可完成配置。配置完成后,用户可以选择并使用模型。整个过程简单明了,适合需要本地部署模型的用户参考。
基于ssm框架实现的网上商城.zip
基于ssm框架实现的网上商城.zip
JDK安装与环境配置[项目代码]
本文详细介绍了JDK的安装和环境变量配置的全过程。首先,从JDK官网下载安装包,然后按照步骤进行安装,默认安装路径为C:Program FilesJavajdk-17。接着,重点讲解了如何配置环境变量,包括新建JAVA_HOME变量和修改Path变量,以便在任意路径下执行Java程序。最后,通过cmd命令验证JDK是否安装成功。此外,文章还附带了一份Python学习资料的推广内容,包括学习路线、视频、书籍、工具包、实战案例和面试题等资源。
C++类和对象基础[项目代码]
本文详细介绍了C++中类和对象的基础知识,包括面向对象与面向过程的区别、类的定义与访问限定符、封装的概念、类的作用域、实例化过程以及类对象模型的计算方法。文章还深入探讨了this指针的作用和特性,通过实例代码解释了this指针在成员函数中的使用方式及其重要性。此外,文中还涉及了结构体内存对齐规则和空类大小的特殊情况,为读者提供了全面的C++类和对象入门指导。
Windows安装Scrapy指南[项目代码]
本文详细介绍了在Windows系统下使用Anaconda安装Scrapy的方法,解决了pip无法直接安装Scrapy的问题。Anaconda是一个专注于数据分析的Python发行版本,内置了conda包管理系统,能够方便地管理工具包和虚拟环境。文章解释了Anaconda和conda的概念,并列举了Anaconda的优点,如省时省心、自动处理依赖
关系
、支持多环境隔离等。此外,还提供了Anaconda的下载链接和安装步骤,最后指导用户通过conda命令安装Scrapy。
Web 开发
81,115
社区成员
341,737
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章