JSP的内置对象

Cookie: ①存在于客户端(可被阻止)
         ②只能是文本文档
         ③如果设置了期限值,则写入客户端的文件;
           如果没有,它只对本窗口或其子窗口有效,其它窗口不能访问该Cookie
        ④在Servlet/JSP中设置的Cookie可以被同路径下或其子路径的Servlet/JSP访问,父路径不可以
             ○注:这里的路径是指URL,而不是Web文件的目录
Session: ①存在于服务器端
             ②每个Session对应一个窗口,用SessionID标识,这个Session为该窗口及其子窗口共享
             ③有两种实现方式:a.使用Cookie(在Cookie可用时)b.URL重写(在Cookie被禁用时)
             ④没有访问路径的问题。同一个WebApplication下的Servlet/JSP设置的Session可以被互相访问
                  前提是:同一个浏览器窗口或其子窗口
Application:与一个Web应用程序相对应,该应用程序下所有的Servlet/JSP共用该Application中的信息(ServletContext)

下面是它们对象的区别:
Application用于保存所有用户共用的数据信息,如果被保存的数据在应用程序生存期内根本不会改变或很少改变,用它。但是在中有个,可能更好点。如果要使用application,一个需要考虑的问题是任何写操作都有要在application_onstart事件中(Global.asax)中完成。尽管使用application.lock和application.unlock方法来避免操作的同步,但是它串行化了对application的请求,当大时会造成性能瓶颈。因此最好不要用它存取大的数据集。 
使用方法: 
application.setAttribute(String name,Object obj);             //保存application对象属性
application.getAttribute(String name);                //获取application对象属性
application.removeAttribute(String name);              //移除application对象的指定属性
类型转换 
int n=Integer.parseInt(application.getAttribute("number").toString());

Session 用于保存每个用户的专用信息,它的生存期是用户持续请求时间再加上一段时间(可以在中设置,默认是20分钟)。Session中的信息保存在服务器的内存中,当然你也可以设置它的保存方法(如存在中)。由于用户停止使用程序后它仍然在内存中保持一段时间,因此使用保存用户数据的方法效率很低。对于小量的数据。使用Session还是一个不错的选择。 
使用方法:
session.setAttribute(String name,Object obj);            //保存
session.getAttribute(String name);             //获取,返回值是object类型,需调用toString()方法转换
session.invalidate();            //销毁session

Cookie用于保存客户浏览器请求服务器页面的请求信息,程序员也可以用它保存非敏感性的内容。保存时间可以根据需要设置。如果没有设置Cookie失效时间,它仅保存至浏览器关闭。如果将Cookie设置为Min Value,则表示它永不过期。Cookie存储量受到很大限制,一般浏览器支持最大容量为4096字节。因此不能用来存储大量数据。由于并非所有浏览器都支持Cookie,并且它是以明文方式保存的,所以最好不要保存敏感性的内容。否则会影响。 
使用方法:
Cookie[ ] cookie = request.getCookies();             //从request中获取Cookie对象的集合
//存 
Response.Cookies["name"].Value = "majcms"; 
//取 
String username = Response.Cookies["name"].Value;


转载于:https://my.oschina.net/u/1790483/blog/278598

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值