JSP的内置对象
JSP的内置对象
菜鸟渡山 发表于4年前
JSP的内置对象
  • 发表于 4年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: Application对象,Session对象,Cookie对象的区别和联系。
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;


共有 人打赏支持
粉丝 0
博文 5
码字总数 2578
×
菜鸟渡山
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: