java web开发 servlet中的session问题

session是由服务器生成的,可以调用HttpServletRequest对象的getSession()方法得到session对象。我有点疑惑。。request不是封装... session是由服务器生成的,可以调用HttpServletRequest对象的getSession()方法得到session对象。我有点疑惑。。request不是封装客户端信息的吗?request是怎么和session关联到一起的呢?我看了下API手册是这么写的: Returns the current session associated with this request。。。

刚学完servlet。。。希望有高人能详细解答下。
request.getCookie()我就很好理解。。。cookie本身就是客户端技术。用request请求对象来关联。。
展开
 我来答
fuhaiwei
2013-08-07 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1389万
展开全部
当浏览器第一次访问服务器时,服务器会生成一个sessionId,随着响应返回给浏览器。

浏览器下次发起请求时,带着这个sessionId来访问。

而浏览器每次访问,也会把与该网站有关的cookie都传送给服务器。

所以从request可以得到cookie,也可以得到sessionId,进而得到session。
百度网友8dd2c3e41
2013-08-07 · TA获得超过431个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:320万
展开全部
request和session的关联是servlet容器负责的,servlet如何做到的基本的原理应该是根据客户端IP和MAC地址

你要说理解的话,那就是为什么API这么封装了,是不是servlet专门提供一个接口让你来取得session你会更满意呢,比如getServletInfoByRequest(HttpServletRequest request)

如果把request理解成前台和后台一个整体,那么cookie和session只是request前后台的一个部分,除非你有更好的理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dd5935b85
2013-08-07 · TA获得超过137个赞
知道答主
回答量:129
采纳率:0%
帮助的人:117万
展开全部
你只要理解request是请求 就可以了。用户请求,请求来的信息需要保存,那么就将用户的请求信息保存到session或cookie。把请求也分为前台和后台的话,cookie就是前台,保存在客户端,而session就是后台保存到服务器。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式