- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网上书店系统实验报告
实验报告
实验题目
编程实现“网上书店系统”
题目分析
需求分析
要开发一个系统,首先要了解该系统到底想做什么,需要实现怎样的功能,这就是需求分析。网上书店从大的需求方面看,就是要实现通过互联网能够进行书籍的购买及相关的管理等功能,大致需要提供下面的一系列功能:
浏览书籍(模糊查询)
选择需要购买的书籍
可以继续选择别的书籍,并且可以购买该书籍
选择了需要购买的书籍后,进行购买书籍操作
保存选中的图书和数量
UML图:
数据分析
图书信息 数据库
购物车 本次会话有效
三、实验设计
1、页面转移关系
2、对象模型
(1)界面对象(View)
*查询页 Search.jsp
*图书目录页 Directory.jsp
*购物车页 Cart.jsp
*定单页 Order.jsp
(2)控制器(Control)
*CtrlServlet 负责响应输入命令
*包括:模糊查询key、查看购物车cart、结算order 、继续选书continue、再次查询search
(3)业务模型
*图书信息:BookBean 实体类的会话Bean
*购物车信息:CartBean 会话Bean
数据设计
(1) 图书信息(数据库表、查询结果)
书号ISBN char[24] 主键
书名Title char[64]
作者Author char[32]
出版社Press char[32]
价格Price double
(2)购物车信息
书号ISBN char[24]
数量Number integer
(3)共享数据
查询结果和选中的图书信息
作为 session参数
动态模型
5、EJB接口设计
(1)BookBean 管理图书信息(封装数据库)
*find( string key )
*根据关键字从数据库中查找出图书信息记录(数组)条件:书名、作者、出版社名中包含关键字get( string isbn )
*根据书号,找出图书信息记录
(2)CartBean 管理购物车信息(本次会话有效)
*add( string isbn ) 添加记录
*gest( ) 获得记录数组
*set( string isbn, integer num ) 设置购买数量
控制器
(1)CtrlServlet 的输入
*来自查询页
page=“search”key=关键字
*来自图书目录页
page=“directory”submit=“cart”choose=书号数组
page=“directoty”submit=“search”
*来自购物车页
page=“cart”submit=“order”
page=“cart”submit=“continue”
page=“cart”submit=“search”
(2)算法概要
*模糊查询 search
按照 key 从 BookBean 查询图书,转交图书目录页
*查看购物车
将选定图书存入CartBean,转交购物车页
*结算
计算CartBean中的图书总价,从BookBean获得图书信息,连同地址,转交定单页
*继续选书
返回图书目录页
*再次查询
转向查询页
*异常处理
直接生成错误信息页面
四、实现技术
1、采用 MVC 模式
(1)JSP 实现页面视图 View
(2)Servlet 实现控制 Control
(3)EJB 实现业务模型 Model
2、交互关系
(1)JSP 表单动作(form)( CtrlServlet
(2)Servlet 转发 ( JSP 页面
3、数据传输
(1)Servlet 调用 EJB 对象获得数据
(2)Servlet 通过 session 参数传递给 JSP 页面
五、实验源代码
1、BooksOnline-ejb
(1)Books
①Books.java:
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Entity
@Table(name = BOOKS)
@NamedQueries({@NamedQuery(name = Books.findByIsbn, query = SELECT b FROM Books b WHERE b.isbn = :isbn), @NamedQuery(name
文档评论(0)