中间件模板.doc

上传人:仙人指路1688 文档编号:4250335 上传时间:2023-04-12 格式:DOC 页数:29 大小:295.50KB
返回 下载 相关 举报
中间件模板.doc_第1页
第1页 / 共29页
中间件模板.doc_第2页
第2页 / 共29页
中间件模板.doc_第3页
第3页 / 共29页
中间件模板.doc_第4页
第4页 / 共29页
中间件模板.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《中间件模板.doc》由会员分享,可在线阅读,更多相关《中间件模板.doc(29页珍藏版)》请在三一办公上搜索。

1、 中间件技术 课 程 设 计 报 告 题 目 在线图书销售网站BookStore 的设计与实现 院 系 专 业 ) 专业年级 学 号 姓 名 指导教师 2014年6月14日 摘 要随着互联网络的发展,网上书店越来越为人们所关注。通过网上书店,人们可以足不出户就选购自己所需的图书。网上书店是根据公司的实际需求、应用动态网页技术开发而成。该系统主要由前台信息发布网站和后台管理维护系统两部分构成;在支持整个网站的运作功能的基础上,能帮助用户对前台网站进行日常管理和信息发布;并具有占用系统资源少、信息量大、站点维护方便、便于扩充和更新、易于继承和保护历史数据等优点。该系统可以克服传统图书销售中地域、广

2、告宣传、人力资源不足等限制,能很好地适应网上销售需求。本文介绍了网上书店系统的开发模式和环境,并具体阐述了系统分析、概要设计及系统详细设计过程。关键字:网上销售需求;网上书店 目 录 1 绪论1 1.1 课程设计背景1 1.2 课程设计研究的意义及现状12 相关软件及技术介绍22.1 JSP技术22.2 MySQL数据库32.3 MyEclipse 2014软件43 需求分析43.1 系统的可行性分析43.2 网站功能需求54 系统设计6 4.1 系统的总体设计7 4.2 系统购书流程9 4.3 系统功能模块划分9 4.4 完整的购书过程11 4.5 数据库设计124.5.1 数据库的概念12

3、4.5.2 数据库的选择134.5.3 数据库表的描述135 系统实现14 5.1 网站注册模块实现过程145.1.1 网站注册模块设计页面图145.1.2 网站注册模块代码实现155.2 图书添加模块实现过程165.2.1 图书添加模块设计页面图165.2.2 图书添加模块代码实现165.3 购买信息模块实现过程185.3.1 购买信息模块设计页面图185.3.2 购买信息模块代码实现185.4 购物车信息模块实现过程195.4.1 购物车信息模块设计页面图195.4.2 购物车信息模块代码实现195.5 订单信息模块实现过程205.5.1 订单信息模块设计页面图205.5.2 订单信息模块

4、代码实现206 系统测试226.1 测试目的226.2 测试原则226.3 测试用例236.4 界面测试236.5 单元测试247 课程设计小结24参考文献25 1 绪论1.1 课程设计背景随着网络技术的发展,越来越多的人喜欢在网上宣传自己的产品,喜欢网上购物。图书产品从其外部特征来看,品种繁多,实体书店或其它图书发行者无法有足够大的店面来展示所有品种;单价不高,在网络信用还存在缺失的环境下能造成的损失较小,读者也乐于尝试在线购买。所以网上书店网站也在互联网上纷纷出现。1.2 课程设计研究的意义及现状就网上书店而言,由于网络已经覆盖全球,信息量大而独具优势。售书的理念也很简单,就是读者可以自己

5、寻找自己喜爱的书为替读者找寻他们想要的书。对于读者来说,网上书店近在咫尺,并且永不下班关门,读者可以随时随地自由地查询和订购图书,读者无需亲临书店,一档一档地找,一本一本地翻,只要坐在电脑前,开机上网即可买到所需书籍,而且读者的挑选余地也大多了,检索也很方便,同时还减少了购书过程中的支出,另外应当看到图书选购必得翻阅详看,耗时费力,特别是热衷购书者,几乎都是奋力开拓事业者和苦心求学深造者,时间对他们而言无比宝贵,网上购书节省了大量时间,这对于那些没有时间经常逛传统书店或其住所离传统书店较远的读者来说,具有实际意义。因此网上售书必将有长足的发展。本系统的主要目的是实现图书的在线销售,包括管理库房

6、中的图书,以及管理用户的购物车,从而实现结帐等一系列功能,让用户足不出户就能够在网上书店购买到自己所需的图书,形成书店和用户双赢的局面。但系统的最终目的是客户可以通过此网站找到自己所需要的书籍,它主要向客户提供各种书籍材料。通过设计和实现该系统可以方便用户随意查询、浏览、定购图书。节省了用户大量的时间与空间,带动网络经济。这个系统的后台管理模块就是利用JSP技术实现对整个网站进行管理。此后台管理模块操作简单,无论有没有网页开发语言基础的该网站管理员都可以对整个网站进行操作更新。 2 相关软件及技术介绍 在本系统开发设计中,主要用到的相关软件和技术如:JSP技术、MySQL数据库、MyEclip

7、se 2014软件,以下就是关于它们的介绍。2.1 JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一

8、样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安

9、全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。 2.2 MySQL数据库 在MySQL数据库中,数据是由表格组成的,表格的每个字段都有自己的格式和默认的字段意义。MySQL数据库中,包括7个数据库对象,分别是表、查询、窗体、报表、页、宏和模块。(1)表在MySQL数据库中,表是最基本的对象,所有收集来的数据都存储在表中,表是数据库中的数据仓库。在MySQL数据库中至少要有一个表存在,否则数据库为空数据库。(2

10、)查询查询是对数据库提出的关于数据库表中查找相关数据的要求,查询可以在一个或多个表中按照不同的方式来查找某些特定的数据,并将其集合到一起供用户查看。查询的同时还可以对相关的数据进行更改和分析。(3)窗体在MySQL中,窗体是一种使用户实现各种操作的界面。主要用来输入或显示数据库中的数据及应用程序的执行控制。(4)报表报表的作用就是将用户选定的数据信息进行格式化的显示或者打印,使用户能够将数据库中的数据按一定的格式输出。(5)页页应用在Internet上的Web页中。在MySQL中,使用页对象可以方便地制作出各种Web页。(6)宏宏是用来自动执行的一个操作或一组操作的集合。其中,每一个操作实现特

11、定的功能。(7)模块模块是MySQL中最重要的实现数据库中复杂管理功能的有效工具。2.3 MyEclipse 2014软件MyEclipse企业级工作平台(MyEclipse Enterprise Workbench简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。MyEclipse 2014是Ecli

12、pse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。它更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。 2级标题:2级标题的字体为宋体小三号字,段前、段后13磅,行间距为多倍行距1.73。3级标题:3级标题的字体为宋体四号字,段前、段后13磅,行间距为多倍行距1.73。正文字体为宋体小四号字,行间距为多倍1.5。以下同。 3 需求分析需求分析是软件工程中的一个关键过程。软件需求分析就是对目标系统提出完整、准确、清晰、具体的要求。通过需求分析要明确系统的主要功能模块,以及各功能模块需要完成的具体功能。 在线图书销售系统主要实现网上选书,购书,产生订

13、单等功能。一个典型的网上商场一般都需要实现商品信息的动态展示,购物车管理,客户信息注册登录管理,订单处理等模块。3.1 系统的可行性分析 (1)技术可行性此系统可以运行于Windows xp,Windows server 2000/2003,Windows vista操作系统。对系统要求只需要装有IIS即可。对计算机的硬件配置没有太高要求,现在的个人电脑完全可以满足。数据库运用简单易学的Access来实现。在网站设计方面,运用XHTML、CSS样式、JSP等知识,利用PhotoShop图像处理工具及Dreamweaver CS3制作出合理生动的网页。(2)经济可行性此系统可以运行于现在市场上出

14、售的各种个人电脑,系统成本主要集中在系统的开发上。当系统投入运行后,可以实现在网上卖书和租书功能。所带来的效益远远大于系统软件的开发成本。在经济上是完全可行。(3)操作可行性界面设计充分考虑浏览用户的习惯,图书信息浏览、会员注册登录、租书、购书等功能操作方便。而且所有网页设计清新、简洁、合理,不会让用户感到视觉疲劳。可操作性很强。3.2 网站功能需求分析 该系统主要分为六大模块:用户登录注册、网上购物、访客计数、在线帮助和在线留言、书店新闻和管理系统。各模块的功能如下:(一) 用户登录、注册用户注册是为了保证用户在本网站的安全性,便于网站管理。用户登录后才可以进行购物。(二) 网上购物用户在进

15、行网上购物时,必须先登陆,如果是新用户,则必须先进行注册。 1、书籍展示用户可以通过搜索的方式查看书籍信息,搜索的方式有:按图书类别、按书名、按作者、按出版社。每本书都显示了书名、作者、定价、特价等,如果想了解每本书的详细信息可以点击书名,详细信息还包括了书影、内容简介等。用户还可以通过:新书上架、特价书籍、书籍排行这三个专拦进行查看2、购物车用户在浏览书籍时,按下“放入购物车”按钮,就可以将书籍放入自己的购物车中,便于购买。用户还可以根据自己的需要,进行查看、修改和清空购物车的操作。(三) 图书分类管理图书管理包括图书库存管理、订单管理、图书销售情况管理。1、图书库存管理管理员可以添加新书、

16、添加书籍分类以及修改书籍库存信息和删除书籍。2、图书销售情况管理管理员可根据日期和书号任一种或这两个条件作为查询条件,了解图书的销售情况。3、订单管理(1) 若管理员获得支付方式为汇款的用户的汇款,可凭汇款上的定单号,查询此定单的有关信息,并可作某些修改操作,如:将数据库表中的“是否支付”栏,更改为“Y”。 (2) 若本网站已寄书给用户,管理员将凭定单号,查询此信息,并修改数据库表中“是否寄出”栏为“Y”。(3) 若查询得到的定单信息中“是否支付”栏或“是否寄出”栏已为“Y”,则此信息不可改变,这样可以防止管理员误操作。4 系统设计本章主要描述了在线图书销售的总体设计以及数据库的设计。总体设计

17、主要包括用户在线图书销售系统中购买图书的完整流程、本系统的模块划分以及个模块的主要功能介绍。 数据库设计主要介绍了数据库的概念、数据库的选择以及数据库的设计等。4.1 系统的总体设计 在系统的总体设计中,主要讲述网站功能模块图和网站流程图。 在线图书销售系统实时新闻访客计数注册登录在线留言在线帮助查看书籍网上购物管理模块商品展示购物车下订单用户管理新闻管理留言管理购物管理 网站功能模块图成功失败访客用户进入访客计数用户注册用户登录不注册网上书店实时新闻在线留言在线帮助查看书籍用户信息管理图书展示放 入 购 物 车图书搜索验 证用户订购 网站流程图 4.2 系统购书流程用户可以直接浏览图书、进行

18、图书查询、查看书店简介、登录和注册查看图书详细资料、将图书加入购物车,但只有使用会员身份登录进入系统后才能提交购物车和查询订单。用户在前台首先通过浏览或查询等手段找到要购买的图书,然后将选定的图书放入购物车中。购物车是一个图书的临时存放地,用户可以对购物车进行管理,如删除图书或修改购买的数量。用户完全选定了要购买的图书后,就可以提交购物车并生成订单系统会提示提交成功,并显示订单号,前台的用户操作流程就结束了。此后用户还可以查询订单执行情况。4.3 系统功能模块划分 在线图书销售网站前台实现的功能有: 【1】网站首页。首页是客户打开网站的第一个页面,一般在这个页面中呈现的信息量最大,且需充分展现

19、网站的亮点,以吸引客户、留住客户。 【2】最近新书。按录入在线图书销售网站系统时间排序显示,优先显示新录入的书籍信息。 【3】特价书籍。显示系统中5折及5折以下的特价书籍信息。 【4】新注册用户。提供客户网上自助注册功能,填写注册表单并提交后,就能成为本网站的用户,注册成功并登录后就可以进行在线购书了。 【5】用户登录。供已注册的用户登录,登录后才能在网上购书。 【6】网上购书。已登录的用户可以将需要购买的书籍放入购物车,可将已放入购物车中的书籍生成一张订单并作确认,可将“未作确认”和缺货的订单取消。在线图书销售网站后台管理实现的功能有:【1】入库管理。供网站管理员订购在库数小于安全在库数的书

20、籍。【2】支付管理。供网站管理员支付所欠出版社的资金。【3】情报管理。供网站管理员对网站信息进行管理。【4】书籍分类管理。供网站管理员对网上书店的书籍进行管理,可增加、修改、删除书籍的分类信息。【5】书籍资料管理。供网站管理员增加、修改、删除网上书店书籍的基本资料信息,主要是文本信息。 【6】用户管理。供网站管理员增加、修改、删除用户的基本信息。后台管理 登录订单管理出库管理入库管理支付管理情报管理 退出进货单制作图书入库进货信息查询支付票制作 支付用户管理图书管理图书信息管理图书分类管理图4-3系统后台功能模块4.4 完整的购书过程 如果合并用户的前台购书流程和系统的后台订单处理流程,就会得

21、到完整的购书流程,如图44所示。这个购书流程贯穿系统设计之中,是连接前、后台的核心流程。用户在前台浏览和查询图书,然后将图书放入购物车,通过提交购物车,生成图书订单,并实际支付(在线实时支付和汇款等),网上书店后台系统收到付款后根据订单发货,最后用户收到图书并确认(回执或签字等),这就完成了整个购书流程。选择图书加入购物车提交购物车生成订单 收款 发货 收货确认4.5 数据库设计 4.5.1 数据库的概念数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、

22、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。 物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一

23、些特定用户使用的数据集合,即逻辑记录的集合。 数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点: 实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理

24、中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。4.5.2 数据库的选择本网站使用MySQL实现关系型数据库。MySQL是一个多用户、多线程的支持标准 SQL语句的关系型数据库。它支持大文件及图像的存

25、储,并且提供一个丰富和极其有用的功能集。它的特点是速度快,易用,稳定性能好,它由一个服务器守护程序MySQL和很多不同的客户程序和库组成。MySQL支持标准的ANSI SQL语句,支持多种平台,在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。大访问量查询加上修改时很容易阻塞,不支持事务处理使MySQL无法胜任关键的企业业务,不支持外键约束等等,使得数据的完整性只能靠开发人员自己保证然而MySQL结构简单,又不包含一些复杂的高级的数据库功能,因此查询极快这也是本系统选择MySQL的主要原因。 4.5.3数据库表的描述图书表book的定义如表4-1所示:表4-1 图书表book的

26、定义字段类型KeyForeign Key Null默认字段含义idint(11)PRI否主键,递增书名varchar(40)否书名作者int(11)bookClass否0作者图书类别varchar(25)是NULL图书类别出版社int(11)publisher是NULL出版社图书价格varchar(100)是NULL图片价格 管理员表admin的定义如表4-2所示:表4-2 管理员表admin的定义字段类型Key Null默认字段含义Idvarchar(50)PRI 是NULL管理编号Uservarchar(50) 是NULL用户名passwordvarchar(50) 是NULL密码 5 系

27、统实现 由于划分的模块众多,而且有的操作类似,所以就不一一呈现系统实现过程,在此只列出了几个页面模块实现过程。 5.1 网站注册模块实现过程 5.1.1 网站注册模块设计页面图 5.1.2 网站注册模块代码实现 % request.setCharacterEncoding(gb2312); String name=; String truename=; String password=; String sex=; String age=; String idcard=; String phone=; String email=; String address=; ResultSet rs=nu

28、ll; if(request.getParameter(username)!=null) name=request.getParameter(username); if(request.getParameter(truename)!=null) truename=request.getParameter(truename); if(request.getParameter(password)!=null) password=request.getParameter(password); if(request.getParameter(sex)!=null) sex=request.getPar

29、ameter(sex); if(request.getParameter(age)!=null) age=request.getParameter(age); if(request.getParameter(IDcard)!=null) idcard=request.getParameter(IDcard); if(request.getParameter(phone)!=null) phone=request.getParameter(phone); if(request.getParameter(email)!=null) email=request.getParameter(email)

30、; if(request.getParameter(address)!=null)address=request.getParameter(address);String sql=select * from user where name=+name+;rs=conn.executeQuery(sql);if(rs.next() rs.close();out.println(对不起,该用户名已经被占用,请另选一个用户名!);out.println(返回);else sql=insertintouser(name,truename,password,sex,age,IDcard,phone,em

31、ail,address,rank) values(+name+,+truename+,+password+,+sex+,+age+,+idcard+,+phone+,+email+,+address+,0);conn.executeUpdate(sql);out.println(恭喜您,注册成功!);out.println(返回登录页面);conn.close(); % 5.2 图书添加模块实现过程 5.2.1 图书添加模块设计页面图5.2.2 图书添加模块代码实现 function check()if(myform.bookname.value=)alert(请输入书名!);return f

32、alse; if(myform.pubdate.value=)alert(请输入出版日期!);return false; var n=0;var price=myform.price.value;for(i=0;i1)alert(价格请输入数字!);return false; elseif(price.charAt(i)9)alert(价格请输入数字!);return false; / 添加新图书 书名: 作者: 出版日期: 日期格式为:2014-06-12 出版社: ISBN: 类别: 计算机类财经管理中外文学旅游交通政法军事其它 封面: 内容简介: 价格: 元 &nbs

33、p;    5.3 购买信息模块实现过程 5.3.1 购买信息模块设计页面图 5.3.2 购买信息模块代码实现 function openWin(sum)window.open(addorder.jsp?sum=+sum,infoWin,height=200,width=600; 购买信息确认 您购买的书籍如下: % ResultSet rs=null; String sql=; float sum=0.0f;String id = cart.getItems();for (int i=0; iid.length; i+) sql=select * from book where bookid=+idi;rs= conn.executeQuery(sql);if(rs.next()float p=rs.getFloat(price);sum+=p;out.println();out.println(rs.getString(bookname);out.println(+rs.getString(author)+);out.println(-+p+&

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号