基于J2EE网上图书管理系统.doc
《基于J2EE网上图书管理系统.doc》由会员分享,可在线阅读,更多相关《基于J2EE网上图书管理系统.doc(13页珍藏版)》请在咨信网上搜索。
淮 海 工 学 院 课程设计报告书 题 目: 基于J2EE网上图书管理系统 系(院): 计算机工程学院 专 业: 计算机科学与技术 班 级: D计算机081 姓 名: 陆 麒 学 号: 510851123 2011年 6 月 9 日 基于J2EE网上图书管理系统 摘要:随着网络的发展,网民规模的不断壮大,电子商务的便利,电子商务高速发展。电子商务的壮大正在冲击着传统的销售方式,传统的销售方式有太多的资本浪费,销售过程中的中间环节过多,然而电子商务能够有效的突破这些局限。电子商务的发展必须有一套成熟的网络技术支持,J2EE规范随之形成。本文根据J2EE规范,采用SSH开发技术,构建了一套B2C网上书城系统。 关键词:B2C,SSH,J2EE Abstract: With the development of the network,unceasing expanding of the netizen scale , and the convenience of electronic commerce, e-commerce high-speedly develops. The growing e-commerce are hitting the traditional way of sale, the traditional marketing way has too many capital waste, and the intermediate link excessive sales process, but e-commerce could effectively break through these limitations. The development of e-commerce must have a mature network technonogy support, then J2EE specification formed. Based on the J2EE specification and useing SSH development of technology, this paper constructs a B2C online bookstore system. Key words:B2C, SSH,J2EE 1、 引言 随着Internet/Intranet技术和电子商务的快速发展,以互联网为代表的全球信息化浪潮正以迅猛的态势冲击着各行各业,社会和经济的发展,网络作为现代的一种通迅方式,已经成为人们生活中不可缺少的一部分。网络已经在国内迅速普及,并且鉴于网络的快速,方便等特性,越来越多的人选择网络提供的服务。网上书城系统作为网络服务的一种,提供了比传统书城更方便,快速,安全的优越服务,越来越受到人们的青睐。用户不用出门便可以购得自已需要的图书,并且网上书城解决了传统书城空间狭小的问题,网上书城几乎可以容纳无穷位用户。 1.1 系统开发概述 1.11 系统开发的意义 近年来,随着信息的全球化和国际互联网的普及化,电子商务成为互联网应用的最大热点,越来越多的企业通过使用电子商务技术来进行商业上的交易以减少成本,企业通过Internet为消费者提供一个新兴的购物环境,消费者通过网络进行网上购物和网上支付等活动,这样即方便了消费者又给商家提供了更广阔的销售平台。 为了促进书籍销售的发展以及J2EE技术的普及,并使书店领导层能够及时得到准确的营销信息,由此做出正确的决策;客户能够在Internet上通过不同的条件查询自己需要的书籍,方便对比,最终找到真正适合自己的书籍。在充分分析了目前书籍销售系统的需求基础上,开发了这个基于J2EE中的Struts、spring、hibernate框架的设计模式的书籍营销系统的软件。 1.12 研究方法 通过对现有网上书城网站(如:当当网、卓越网)的分析调查,收集大量的相关实例,对所收集的例子进行分析比较,努力研制出一个易用的、查询准确、功能全面的网上书籍销售系统。在进行本系统的分析与设计中,综合采用了文献资料法、归纳统计法、案例分析法、比较法、设计科学方法、综合法及图表法等研究方法。 1.13 设计创新 基于Struts+Hibernate+Spring技术的营销系统的分析与设计是立足于当今的网络系统的发展趋势,本系统采用了目前企业开发应用中最流行的组合,系统可扩展性强,性能高。 本系统采用目前最流行的J2EE+MySQL进行系统的开发,采用了MD5加密算法,利用MySQL对Java的强大支持,以及Java的各种优点,能够在安全性、扩展性、效率性等各方面得到提升。 从功能层面来讲,此设计在能够实现目前流行的垂直搜索功能,从而能够很好的解决综合搜索数据多而不精的缺陷。当用户访问首页时,可以根据自己的需要,选择适当的分类进行垂直搜索,从而更快地定位自己的需求,并且能在对比中选出更适合自己的书籍。这种垂直搜索的思想从某些方面也为当今搜索引擎的发展道路提供了一定的借鉴。 2、 系统分析 2.1网上书城系统的可行性分析 2.1.1 管理上的可行性 把企业业务延伸到Internet上,建立电子商务网站,对运营商业企业来说,是企业对外展示信息,从事商务活动的窗口和界面。因此,高中层管理人员和主管领导也一定希望将自己的产品推向互联网,从而得到更多的商业机会,能够给予支持,另外消费者能足不出户的选择自己喜欢的书籍,而不受地理条件的约束。 2.1.2技术上的可行性 根据系统目标需求分析得结果来看,各类开发软件均为开源,其中以MyEclipse为开发工具,tomcat做服务器,采用 Java语言开发就可以解决相关的问题,从而保证系统功能的实现。 2.1.3经济上的可行性 传统书店在运营过程中 ,经常会遇到地理位置的因素而让宣传受到限制,采购商或客户只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的商业活动变得更灵活、更主动,而且能节约大量的成本,从而带来很大的经济效益。 2.2 需求分析 需求分析关系到网上书城系统实现之后的投入运行阶段是否能满足消费者需求,是非常重要的,如果需求分析没做好,后面极可能会事倍功半,既不能满足消费者的购物需求,更不能提高销量。 2.2.1 网上书城系统的功能需求分析 客户对功能的需求主要是购买到自己想要的书籍,包括站内搜索书籍、查看书籍分类、查看推荐书籍、查看特价书籍、查看热点新闻、查看书籍详细信息介绍、会员注册及登录;会员登陆后查看收藏夹、购物车内书籍,并可在结账前进行撤销;会员登录后查看订单状态,是否付款成功;修改自己的资料。此外,该系统还允许用户执行其他任务,如:允许用户在系统中进行注册;提供用户登录入口,登录和非登录用户具备不同操作功能。 书店销售商主要是查看销售状况,查看订单详细信息的同时进行订单发货处理,进而实现在线预订;书籍管理,查询书籍,根据类别添加书籍、设置特价书籍、设置推荐书籍;管理会员,管理后台操作员、管理普通会员;新闻管理,修改、删除、添加、查看热点新闻;书籍栏目管理,管理一级栏目、管理二级栏目。 2.2.2 网上书城系统的性能需求分析 对于一个管理信息系统,特别是电子商务网站,是非常重视系统的可靠性与安全性的。系统的可靠性是指系统放置硬件失灵、软件错误、自然灾害等造成的失效的性能。安全问题是电子商务实施时的瓶颈,这不仅是技术问题,更是管理问题,具体涉及计算机网络安全和商务安全两大方面。为了保证网店的安全,要求保证:信息的保密性,即信息在传输和存储中不被窃取,为此需要采用安全技术对信息进行加密,本系统就采用MD5加密算法保护会员信息;信息的不可否认性,即发送方和接收方都不能否认自己发送或接收了信息;交易者身份的真实性,即网上交易双方应确认对方是真实的。 2.3 用户购书流程分析 通过对一般电子商务网站的业务调查分析,结合书籍营销系统的实际需求,分析出了书籍销售网站的用户购物流程。购书业务流程如图2-1所示。 图2-1 购书业务流程图 2.4 数据流程分析 数据流程图反应了网站数据之间的关系,数据流程图如图2-2所示。 图2-2 数据流程图 3、 系统设计 3.1 系统功能模块图 网上书城系统功能模块的设计是为了满足需求分析阶段所确定的功能性分析,分为前台功能模板和后台功能模块。 系统前台模块图如下: 系统后台模块图如下: 3.2 数据库设计 基于系统设计的物理配置方案,结合系统分析,采用E-R图建立了概念模型,设计了7个数据表文件。 3.2.1 E-R模型设计 网上书城系统E-R图 3.2.2 数据表结构 基于上述分析,在MySQL中设计了7个数据表文件[18],它们的结构及其说明如下: 管理员信息表(admin) 字段 字段名称 类型 长度 允许空 说明 1 Id Int 11 N 编号 2 Loginname varchar 16 N 登录名 3 password varchar 40 N 密码 4 name varchar 16 Y 姓名 书籍分类信息表(bookclassify) 字段 字段名称 类型 长度 允许空 说明 1 Id int 11 N 编号 2 Pid int 11 n 父类编号 3 Name varchar 16 n 类别名称 书籍信息表(books`) 字段 字段名称 类型 长度 允许空 说明 1 Id int 11 N 编号 2 Name Varchar 16 N 书籍名称 3 Publishdate Varchar 16 Y 出版日期 4 Classid Int 11 N 书籍类别编号 5 Price Decimal 10 N 价格 6 Introduction Text - Y 书籍介绍 7 Author Varchar 16 N 作者 8 Discount Float - Y 是否打折 9 Issuggestion Int 1 N 是否推荐 10 Picture Varchar 200 Y 图片 收藏夹信息表(collection) 字段 字段名称 类型 长度 允许空 说明 1 Id int 11 N 编号 2 Bookid int 11 N 书籍编号 3 Memberid int 11 N 会员编号 会员信息表(`members`) 字段 字段名称 类型 长度 允许空 说明 1 Id int 11 N 编号 2 Loginname Varchar 16 N 登录名 3 Password Varchar 40 N 密码 4 Address Varchar 200 Y 地址 5 Telphone Int 11 Y 电话号码 6 Name Varchar 16 Y 姓名 新闻信息表(news) 字段 字段名称 类型 长度 允许空 说明 1 Id int 11 N 编号 2 Name Varchar 50 N 标题 3 Time Timestamp - N 时间 4 Author Varchar 10 Y 作者 5 Keyword Varchar 100 N 关键字 6 Content Text - Y 内容 订单信息表(order) 字段 字段名称 类型 长度 允许空 说明 1 Id int 11 N 编号 2 Orderno Int 20 N 订单号 3 Bookid Int 11 N 书籍编号 4 Memberid Int 11 N 会员编号 5 Ispay Char 1 N 是否付款 4、 系统实现 4.1 系统前台核心页面及其功能实现 4.1.1 系统首页 系统首页包括会员登录;按关键字搜索书籍;会员登陆后查看购物车、查看收藏夹;会员注册;书籍分类查看,查看书籍详情;热点新闻栏目,查看新闻详情;查看特价书籍;查看推荐书籍。运行效果图如下: 关键字搜索核心代码: String search = this.model.getSearch(); String pageSize = ServletActionContext.getRequest().getParameter("pageSize"); String pageNo = ServletActionContext.getRequest().getParameter("pageNo"); int ps = 4; int pn = 1; if ((pageSize != null) && (pageSize.length() > 0)) { ps = Integer.parseInt(pageSize); } if ((pageNo != null) && (pageNo.length() > 0)) { pn = Integer.parseInt(pageNo); } List bookList = this.bookService.getClassifyBook((pn - 1) * ps, ps, "from Books where author like '%" + search + "%' or " + "name like '%" + search + "%' or " + "introduction like '%" + search + "%'"); int totalcount = this.bookService.getCount("select count(*) from Books where author like '%" + search + "%' or " + "name like '%" + search + "%' or " + "introduction like '%" + search + "%'"); int count = (totalcount - 1) / ps + 1; ServletActionContext.getRequest().setAttribute("search", search); ServletActionContext.getRequest().setAttribute("bookList", bookList); ServletActionContext.getRequest().setAttribute("pageSize", Integer.valueOf(ps)); ServletActionContext.getRequest().setAttribute("pageNo", Integer.valueOf(pn)); ServletActionContext.getRequest().setAttribute("count", Integer.valueOf(count)); 4.2 系统后台核心页面及其功能实现 4.2.1 书籍管理页面 后台管理员登录后管理书籍,管理员可以添加书籍信息,包括书籍名字、图片、价格、所属栏目、书籍简介、是否特价等等,修改书籍信息,查看书籍信息,删除书籍信息。运行效果如下图: 增加书籍核心代码: public String addBook() { if ((this.model.getId() != null) && (this.model.getId().intValue() > 0)) { Books book = this.bookService.getBookById(this.model.getId()); if ((book != null) && (book.getId().intValue() > 0) && (book.getPicture() != null) && (book.getPicture() != "") && (book.getPicture().length() > 0) && ( (this.model.getPicture() == null) || (this.model.getPicture() == "") || (this.model.getPicture().length() <= 0))) { this.model.setPicture(book.getPicture()); } } if ((this.pic != null) && (this.pic.length() > 0L)) { int i = this.picFileName.lastIndexOf("."); Calendar c = Calendar.getInstance(); String filename = "picture/" + c.get(1) + (c.get(2) + 1) + c.get(5) + c.get(11) + c.get(12) + c.get(13) + c.get(14) + this.picFileName.substring(i); try { String path = ServletActionContext.getRequest().getRealPath("/"); String temName = path.replace("\\", "/") + filename; System.out.println(temName); FileOutputStream fos = new FileOutputStream(temName); FileInputStream fis = new FileInputStream(getPic()); byte[] buf = new byte[1024]; int len = 0; while ((len = fis.read(buf)) > 0) { fos.write(buf, 0, len); } if (fos != null) { fos.close(); } if (fis != null) { fis.close(); } this.model.setPicture(filename); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } if (this.bookService.saveOrUpdateBook(this.model)) return "browseBook"; return "input"; } 4.2.2 订购单管理页面 后台管理员登录后管理书籍,点击订购单管理,可以查看已付款订单信息,包括订购单号、书名和订购人信息等,商家根据这些信息对订购单进行实际业务处理。运行效果如下图: 管理已付款订单页面核心代码: public String orderManager() { List orderList = this.orderService.getOrderByIspay(); List shopCar = new ArrayList(); if (orderList.size() > 0) { Iterator orderit = orderList.iterator(); while (orderit.hasNext()) { Order order = (Order)orderit.next(); Members member = this.adminService.getMemberById(order.getMemberid()); Books book = this.bookService.getBookById(order.getBookid()); ShopCar shop = new ShopCar(); shop.setIsPay(order.getIsPay().intValue()); shop.setBookId(order.getBookid().intValue()); shop.setBookName(book.getName()); shop.setOrderId(order.getId().intValue()); shop.setOrderno(order.getOrderno()); shop.setPrice(book.getPrice()); shop.setMemberid(order.getMemberid().intValue()); shop.setMemberName(member.getLoginname()); shopCar.add(shop); } ServletActionContext.getRequest().setAttribute("shopCar", shopCar); return "success"; } return "input";} 5、 系统总结 本次是《J2EE应用》这门课的一次大作业,也算是对先前所学内容的一种集中回顾与应用,本次课程设计我采用了struts+spring+hibernate的组合框架进行系统的开发,充分发挥了各个框架的优势,充分利用科技发展的优势和网络发展的良好前景来选题,该技术方案主要应用于系统的设计和开发,并应用于工程项目实践。该方案界面简洁,操作简单,运行稳定,为取得良好的实际应用效果和经济效益作出了很好的开始,并为以后进一步扩展提供了思想指导。 通过这次课程设计,使我进一步了解J2EE开发框架的优势,以及MySQL数据库对Java的良好支持。并了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中学到的知识,使得理论与实践完美的结合起来了。同时,通过本次课程设计,我还基本掌握了软件文档的编写方法和书写格式。最后感谢朱敏老师这学期对这门课的精心讲解,和对我每次实验和课程设计的耐心指导! 参考文献: [1]戚欣.基于J2EE架构的层次结构研究及应用[J].吉林大学学报,2008,26(3):295-29 [2] 卢瑜.基于J2EE的办公自动化系统的设计[J].现代计算机,2008,28(2):140-142. [3] 胡峰松,熊建新.基于J2EE的办公自动化系统研究[J].江西科学,2008,26(2):300-302. [4] 陈立岩.基于J2EE平台的B/S系统性能优化设计研究[J].计算机技术与发展,2008,18(6):122-124. [5](美)Cay S.Horstmann,Gary CornellJAVA核心技术[M]北京:机械工业出版社,2005 [6]Boumphrye.F等,BeginingXHTML[M],北京:机械工业出版社,2002,01 [7]郑阿奇,j2EE应用实践教程,背景:电子工业出版社, 2008,09- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 网上 图书 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文