资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七讲 访问,Java Bean,王芳,JavaBean,简介,JavaBean,是一种可重复使用、且跨平台的软件组件。,JavaBean,分为两种:,有界面,无界面,主要负责处理事务(数据运算、操纵数据库等),JSP,与,JavaBean,搭配使用的好处:,使,HTML,与,Java,程序分离,便于维护代码,降低,JSP,网页开发人员对,Java,编程能力的要求,提高开发效率,JavaBean,的特性,是一个公共的(,public),类,有一个不带参数的构造方法,通过,getXXX,方法获取属性,通过,setXXX,方法设置属性,例:,CounterBean,编译,存放位置:,helloapp/WEB-INF/classes/mypack/CounterBean.class,JSP,访问,JavaBean,的语法,导入,JavaBean,类,声明,JavaBean,对象,相当于,CounterBean myBean=new CounterBean();,访问,JavaBean,的属性,JavaBean,的生命期,通过,scope,指定生命期,如果在,scope,指定的范围内不存在该对象,就创建,如果已经存在就获得该对象的引用,scope,的四种取值,page,request,Counter_scope.jsp,session,application,scope=page,客户每次请求访问,JSP,页面时,都会创建一个新的,JavaBean,对象,JavaBean,对象的有效范围,客户请求访问的当前,JSP,网页,结束生命期,客户请求访问的当前,JSP,网页通过,标记将请求转发到另一个文件,客户请求访问的当前,JSP,页面执行完毕并向客户端发回响应,scope=request,客户每次请求访问,JSP,页面时,都会创建一个新的,JavaBean,对象,JavaBean,对象的有效范围,客户请求访问的当前,JSP,网页,和当前,JSP,网页共享同一个客户请求的网页,即当前,JSP,网页中,指令以及,标记包含的其他,JSP,文件,结束生命期,当所有共享同一个客户请求的,JSP,页面执行完毕并向客户端发回响应,scope=session,在一个,Session,中第一次访问包含这个,JavaBean,对象的页面时创建,JavaBean,对象的有效范围,JavaBean,对象存在于整个,Session,的生命期内,同一个,Session,中的,JSP,文件共享这个,JavaBean,对象,结束生命期,Session,结束时,scope=application,在一个,Session,中第一次访问包含这个,JavaBean,对象的页面时创建,JavaBean,对象的有效范围,应用的整个生命期内,结束生命期,服务器重启,应用重新部署,例:,bookstore,建立数据库:,books.sql,bookstore,中创建的类,BookDetails.java,代表具体的一本书,属性和,Books,表中字段对应,ShoppingCartItem.java,代表购物车中的条目,包含一种书的信息和数量,ShoppingCart.java,代表购物车,一个购物车中可以包含多个购物条目,BookDB.java,负责访问数据库,提供了操纵数据库的方法,bookstore.jsp,bookdetails.jsp,String bookId=request.getParameter(bookId);,if(bookId=null)bookId=201;,BookDetails book=bookDB.getBookDetails(bookId);,书名:,作者:,加入购物车,继续购物,catalog.jsp,Collection c=bookDB.getBooks();,Iterator i=c.iterator();,while(i.hasNext(),BookDetails book=,(BookDetails)i.next();,bookId=book.getBookId();,此处对每条记录进行处理,购物车,catalog.jsp,对每条记录的处理,/bookdetails.jsp?bookId=,加入购物车,作者:,catalog.jsp,加入购物车,您已将,加入购物车,0),%,/showcart.jsp”,察看购物车,/cashier.jsp”,付帐,showcart.jsp,察看购物车,购物车,int num=cart.getNumberOfItems();,if(num 0),显示购物车中的物品,else,购物车为空,继续购物,showcart.jsp,显示购物车中的物品,Iterator i=cart.getItems().iterator();,while(i.hasNext(),ShoppingCartItem item=,(ShoppingCartItem)i.next();,BookDetails book=,(BookDetails)item.getItem();,显示每种物品的信息,/showcart.jsp?Clear=clear”,清空购物车,删除,showcart.jsp,删除物品,删除一件物品:,String bookId=request.getParameter(Remove);,if(bookId!=null),cart.remove(bookId);,BookDetails book=bookDB.getBookDetails(bookId);,清空购物车:,if(request.getParameter(Clear)!=null),cart.clear();,cashier.jsp,付帐,/receipt.jsp method=post,receipt.jsp,接受订单,errorpage.jsp,错误处理,common.jsp,中:,
展开阅读全文