JavaWeb程序设计 课件 ch08 JSP 内置对象2_第1页
JavaWeb程序设计 课件 ch08 JSP 内置对象2_第2页
JavaWeb程序设计 课件 ch08 JSP 内置对象2_第3页
JavaWeb程序设计 课件 ch08 JSP 内置对象2_第4页
JavaWeb程序设计 课件 ch08 JSP 内置对象2_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章JSP内置对象2本课教学内容利用session开发购物车session其他APIapplication对象其他对象利用session开发购物车购物车需求例子 想象用户去购物超市买东西时,都会推一个购物车,购物车中包含了用户所需要购买的商品,用户可以将商品添加到购物车,也可将商品从购物车中取出或删除。用户可以推着购物车从这个专柜走到那个专柜,用户也不用担心别人的购物车里面的东西算到自己账上,这在生活中已经成为常识利用session开发购物车购物车的特点同一个用户使用的是同一个购物车不同的用户使用的是不同的购物车。否则,别人买的东西就会算到自己的账上在不同货架(页面)之间进行访问时,购物车中的内容可以保持以上3点中,最关键的是“跨页面保持”。利用session开发购物车实际上,JSP中的内置对象session,就是跨页面保持的,当访问网站时,服务器端已经分配了一个session对象给用户使用,对于同一个用户,不管在哪个页面,他使用的都是同一个session。利用session开发购物车session,是JSP九大内置对象之一,它对应的类(接口)是:javax.servlet.http.HttpSession。可以通过查找文档中javax.servlet.http.HttpSession来了解session的API。如何用session开发购物车一些session常用的API将内容放入购物车voidsession.setAttribute(Stringname,Objectobj);在该函数里面,参数1:name就是来为每一个物品起一个属性(attribute)的名字(标记);参数2:obj,就是内容本身如何用session开发购物车*针对放入的提醒:如果两次调用setAttribute(Stringname,Objectobj);并且name相同,那么后面放进去的内容将会覆盖以前放进去的内容setAttribute(Stringname,Objectobj);的第二个参数是Object类型,即可以放入session的不仅仅是一些简单字符串,还可以是Object。集合、数据结构对象都可以放入session。如何用session开发购物车一些session常用的API读取购物车中的内容Objectsession.getAttribute(Stringname);在该函数里面,name就是被取出的内容所对应的标记;返回值,就是内容本身。

*具体代码示例见课本如何用session开发购物车实际项目中,可以使session中的内容多种多样。为了将session里面的内容很好地分门别类,可以将这几种物品先放在一个集合中,然后将集合放入session中,操作更加方便。

session其他API-session的其他操作移除session中的内容session有一个函数:voidsession.removeAttribute(Stringname);利用该函数,可以将属性名为name的内容从session中移除。session其他API-session的其他操作移除session中的全部内容voidsession.invalidate();应该注意的是,如果session中的内容被移除之后,如果再想得到,会返回null值。session其他API-session的其他操作预防session内容丢失在session的使用过程中,要注意一些技巧,session中存放的内容要注意其一致性,否则会造成数据丢失。sessionIdsessionId的原理图sessionId问题:客户在访问多个页面时,多个页面用到session,服务器如何知道该客户的多个页面使用的是同一个session?sessionId答案对于每一个session,服务器端都有一个sessionId来标识它Stringsession.getId();sessionId实际上,在第一次访问时,服务器端就给session分配了一个sessionId,并且让客户端记住了这个sessionId,客户端访问下一个页面时,又将sessionId传送给服务器端,服务器端根据这个sessionId来找到前一个页面用的session对象。利用session保存登录信息例子假如用户登录学生管理系统,登录后用户可能要做很多操作,访问很多页面,在访问这些页面的过程中,各个页面如何知道用户的账号呢?答案很简单,在登录成功后,用户的账号可以保存在session中。后面的各个页面都可以访问session内的内容application对象application原理图application对象问题:购物车能用application实现吗? 很明显,购物车是不能用application实现的。因为不同客户在服务器端访问的是同一个对象,如果使用application实现购物车,客户1向购物车中放了一种物品,客户2也可以看到,那样是不允许的application对象原理对于一个Web容器而言,所有的用户都共同使用一个application对象,服务器启动后,就会自动创建application对象,这个对象会一直保存,直到服务器关闭为止对应的类(接口)是:javax.servlet.ServletContext

application对象application对象的API主要有以下几个:将内容放入applicationvoidapplication.setAttribute(Stringname,Objectobj);

读取application中的内容Objectapplication.getAttribute(Stringname);将内容从application中移除voidapplication.removeAttribute(Stringname);application对象下面用一个简单的案例来实现:显示某个页面被访问的次数。很显然,这个次数应该被所有客户所知,因此,可以使用application实现。*具体代码示例见课本其他对象exception对象:

由于用户的输入或者一些不可预见的原因,页面在运行过程中总是有一些没有发现或者是无法避免的异常现象出现。此时,可以通过exception对象来获取一些异常信息。exception,是JSP九大内置对象之一,它对应的类(接口)是:java.lang.Exception,可以通过查找文档中java.lang.Exception来了解exception的API其他对象page对象:page对象是指向当前JSP程序本身的对象,有点像类中的this。它是java.lang.Object类的实例对象,可以使用Object类的方法。page对象在JSP程序中的应用不是很广其他对象config对象:config对象是在一个JSP程序初始化时,JSP引擎向它传递消息用的,此消息包括JSP程序初始化时所需要的参数及服务器的有关信息。config对应的接口是:javax.servlet.ServletConfig,该接口使用较少其他对象pageContext对象:pageContext是javax.servlet.jsp.PageContext类的实例对象。实际上,pageContext对象提供了对JSP页面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论