任务1: 复习一下Session , Application , Cookie
会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
—Cookie:
Cookie就是给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。
Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。
—Session:
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session
如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。
Session的使用比Cookie方便,但是过多的Session存储在服务器内存中,会对服务器造成压力。
—application
当Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭。
Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web服务目录一一对应。
application对象的基类是:javax.servlet.ServletContext类。ServletContext类:用于表示应用程序的上下文。一个ServletContext类的对象表示一个Web应用程序的上下文。具体来说:在Web服务器中,提供了一个Web应用程序的运行时环境,专门负责Web应用程序的部署、编译、运行以及生命周期的管理,通过ServletContext类,可以获取Web应用程序的运行时环境信息。
session对象是用户级的对象,而application对象是应用程序级的对象。
—application与Session:
一个用户一个session对象,每个用户的session对象不同,在用户所访问网站的多个页面之间共享同一个session对象。
一个Web应用程序一个application对象,每个Web应用程序的application对象不同,但一个Web应用程序的多个用户之间共享同一个application对象。
session对象的生命周期:用户首次访问网站创建,用户离开该网站 (不一定要关闭浏览器) 消亡。
application对象的生命周期:启动Web服务器创建,关闭Web服务器销毁。
任务2:重定向和转发的区别与联系
—转发:
转发是服务器行为,不会改变URL 转发页面和转发到的页面可以共享request里面的数据.一般用于用户登陆的时候,根据角色转发到相应的模块. 效率较高
就相当于你去a办证 a办不了,但是a自己去办证再给你。所以URL不会改变
—重定向:
重定向是客户端行为,会改变URL 不能共享数据 一般用于用户注销登陆时返回主页面和跳转到其它的网站等.效率较低
就相当于你去a办证 a办不了 它让你去b办,然后你从a退出来,去了b办证。所以URl会改变