1、 编号:昆明理工大学本科生毕业论文(设计)题 目:网上图书销售系统院 系:专 业:计算机科学与技术指导教师: 学 号:学生姓名: 完成时间:2004年6月10日网上图书销售系统作者 指导老师 摘 要本文所要介绍的网上图书销售系统是当前流行的网上商店的一种形式,它也是电子商务的一个缩影。当前的网上图书销售系统不少,但是采用J2EE架构开发的还是寥若晨星。通过该系统的开发研究,不仅可以学到如何使用J2EE架构来开发一个比较完善的网上图书销售系统,还可以由此扩展思路,开发出其它形式的服务于电子商务的应用系统。J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考
2、虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物,它使中间件的编写更加容易、可扩展性更强。在利用J2EE技术实现网上图书销售系统的过程中,本文主要做了以下工作:1、 系统的需求分析;2、 系统建模;3、 数据库设计;4、 讨论如何将EJB、互联网程序、应用程序结合应用;5、 编写应用系统;6、 部署应用系统。关键词网上图书销售系统、 电子商务、 建模、 部署AbstractA kind of form of the store on this text a net for wanting introductive net ascen
3、ding books sale system is front spreading, it is also an electronic commerce of a miniatures.On the current net the books sale system is not a few, but adoption J2EE structure development of or rare as morning stars.The development that pass that system studies, can not only learn how to use the str
4、ucture of J2EE to develop a perfect net top books sale system, can but also expand the way of thinking from here, developping a service of other form in the applied system of the electronic commerce.J2EE is plait that industry to uses the Java technique development business enterprise class applied
5、a kind of in fact standard( the company of Sun comes from the consideration of its self interest, diding not bring into Java and its related techniques to standardize the built-up system up to now), it is the technique of Java to adapt to continuously with promote the business enterprise class appli
6、cation outcome in the process, it make the middle piece write more easily, can expand the sex stronger.In made use of the technique of J2EE realize net top books sold system of process, this text did primarily below work:1、The need analysis of the system;2、The system sets up the mold;3、Database desi
7、gn;4、How discussion is the EJB, Internet procedure, apply the procedure combination the application;5、The plait writes the applied system;7、 Deployment application system.Key wordsBSS、 Electronic commerce、 Deployment、 Molding 目 录摘 要1Abstract2正 文6一、引言6二、J2EE技术介绍71、Java介绍811 Java Servlet82、JSP83、Web容器
8、/Servlet容器/JSP容器94、Tomcat介绍1041 什么是Tomcat1042 Tomcat下载1043 Tomcat和JServ的区别10三、系统需求分析101、简介101.1 目的101.2范围101.3定义、首字母缩写和缩写语111.4参考文献112、整体说明112.1 图书浏览模块112.2 图书管理模块112.3 购物车模块112.4 订单管理模块112.5 顾客反馈信息模块112.6 顾客反馈信息管理模块112.7 特价图书信息管理模块122.8 特价图书信息显示模块122.9 顾客的注册、登录模块122.10 信息管理的登录模块122.11 用户管理模块122.12
9、新闻显示模块122.13 新闻管理模块122.14 论坛123、具体需求123.1 功能123.2 可用性133.3 可靠性133.4 性能133.5 可支持性133.6 设计约束133.7 联机用户文档和帮助系统需求133.8 购买的构件143.9 接口14四、系统建模141、顾客用例图142、信息管理员用例图153、图书浏览模块的活动图164、图书管理模块的活动图165、购物车模块的活动图166、订单管理模块的活动图177、顾客反馈信息模块的活动图188、顾客反馈信息管理模块的活动图199、特价图书信息管理模块的活动图1910、特价图书信息显示模块的活动图2011、顾客的注册、登录模块的活
10、动图2012、信息管理的登录模块的活动图2113、用户管理模块的活动图2114、新闻浏览模块2215、新闻管理模块2216、论坛模块2317、系统流程图23五、数据库设计241、数据字典24(1)顾客数据表(customer)24(2)用户数据表(userTable)25(3)图书种类数据表(category)25(4)图书数据表(books)25(5)订单数据表(orders)26(6)顾客反馈信息数据表(orders)26(7)系统信息数据表(System)27(8)论坛数据表1(Guest)28(9)论坛数据表2(GuestInfo)28(10)新闻数据表1(news)28(11)新闻数
11、据表2(newsclass)292、数据库模型30(1)主要模型30(2)附加模型30六、编写应用程序321、数据层32(1)Base类32(2)Book类33(3)BookType类33(4)Comment类34(5)User类34(6)LackRecord类35(7)Order类36(8)OrderDetails类36(9)TempStore类372、应用层373、表示层38七、讨论如何将EJB、互联网程序、应用程序结合应用421、EJB简介422、互联网程序和EJB的使用4421 构思4422 运行流程4423 实现方法(在JBuilder9环境下)44八、总结与体会451、总结452、
12、体会46九、谢辞46十、参考文献46十一、附录47附录A47附录B47正 文一、引言随着信息技术在我国企业中的广泛应用,企业的生产经营活动越来越依赖计算机信息系统,很多企业都构建了自己的企业管理系统。但是由于科技的发展,社会文明的进步,人们已不在满足于现在的经营、生活方式。Internet的出现使更多的商业机构可以在线销售货物和提供服务,比较容易的地为客户和企业用户提供这些功能。本文涉及的Java技术主要有J2EE、Java Servlet与JSP。所使用的服务器是Tomcat。J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及
13、其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物,它使中间件的编写更加容易、可扩展性更强。Java Servlet是一个独立于平台的部件,它使用由JSP/Servlet容器管理的请求/回应模型来与Web客户机进行沟通。Java Servlet的优点在于不同用户即使在执行同一个Java Servlet时,都会也不同的方式执行此Java Servlet,而不会产生不同的进程,因此相对的服务器的负荷较轻,也就有较高的执行效率。JSP与Java Servlet功能相似,都是处理服务器端程序,但由于Java Servlet在语法及开发上有一定难度,因此Sun公司针对
14、这一缺点推出了JSP。在JSP中,除了一般JSP的语法之外,还可以加入HTML或JavaScript的语法,因此比Java Servlet更有弹性。随着java的流行,其在web上的应用也越来越广,tomcat作为一个开源的servlet容器,应用前景越来越广,tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http:/ 、商户及消费者的网上购物、网上交易及在线电子支付的一种不同于传统商业运
15、营的新型商业运营模式,电子商务是随着INTERNET发展而发展起来的,主要以EDI(电子数据交换)和INTERNET来实现的,电子商务有广义和狭义之分,狭义的电子商务是主要利用WEB在网上进行交易,称作电子易(E-COMMERCE)广义的电子商务包括基于WEB的全部商业活动,称作电子商业(E-BUSINESS)。我们这次课题研究的对象网上书店,正是把握住时代的脉搏,顺应社会发展的需要,向广大客户提供了一个到网上书店购买图书全过程中所需的全部服务。网上书店有着其他形式的书店所不能比拟的优势:它不需要店铺和庞大的销售网络,通过在网上直接订购、支付、结算,减少了中间的环节和开支。不受时空的限制,一天
16、24小时的营业时间。全世界范围内都可以销售等。由此可见,网上书店有着广阔的发展情景,将会受到广大消费者和商家的喜爱。二、J2EE技术介绍J2EE技术的核心优势是引入中间层服务器。中间层服务器犹如一个超级市场,为用户提供一站式服务,用户通过中间层服务器便可获得各种服务。我们在此主要介绍在开发过程中用到的几个部分。1、Java介绍Java有两方面的含义:Java语言、Java平台。 作为一种语言,Java是一种跨平台开发语言,能开发出跨平台的应用对象和应用程序。例如:Oracle8i的安装程序就是用Java开发的。Java语言具有以下特点:简单、面向对象、分布式、解释执行、安全、跨平台、高性能、多
17、线程等特点。 作为一种平台,Java平台包括两部分内容:Java虚拟机和JavaAPI。11 Java Servlet为了能动态执行服务器端的需求,例如访问后端数据库或ERP(Enterprise Resource Planning System)的数据,由Sun公司的Java软件开发部所开发的Java Servlet便应运而生,Java Servlet为服务器端的Java程序,当用户通过浏览器执行Java Servlet时,Java Servlet便会被动态载入到服务器端的JVM中,通过Java Servlet容器(Conntainer)将Java Servlet载入执行,并将执行结果响应到
18、用户浏览器上。2、JSPJSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email
19、 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。JSP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源(例如JavaBesns)的应用逻辑。JSP将网页逻
20、辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP技术是Servlet技术的扩展。Servlet是平台无关的,100%纯Java的Java服务端组件。3、Web容器/Servlet容器/JSP容器Web容器和EJB容器都是J2EE构架的主要组成部分,web容器包括JSP 引擎,Servlet引擎和一个web服务器。传统的做法是将这几部分包装在一起放在一个JVM(Java虚拟机)里。Servlet和JSPs与web服务器在一个进程空间中执行,因此工作不能被分布到多台机器上去。造成了web应用的瓶颈。 一个更具有伸缩性的web容器构架是将JSP
21、引擎和Servlet引擎从web主机上移走,根据需要分布在别的地方。利用这种方法,一个请求如果是要求特定的JSP程序处理,它将被web服务器传递到远端的JSP引擎去处理(也许该JSP还要调用EJB),在JSP执行时,web服务器还可以处理下一个客户请求(该请求有可能被传到另外一个JSP引擎去处理),等等。从效果上看,web服务器和JSP引擎在并行执行,充分利用了多台机器的能力。如果web服务器和JSP引擎在同一个进程空间,这种情况不可能发生,即使利用多线程也不行。通过上面的介绍,相信大家也队我们整个开发过程中使用到的技术和原理都有了一个大概的了解。在实际的开发过程中,我们还用到了其它的开发工具
22、(如Dreamweaver)来提高开发速度和效率。在程序的实际运行中,我们选用了大家容易使用的Tomcat作为服务器。tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http:/ 什么是Tomcat Tomcat是JavaServlet2.2和JavaServerPages1.1技术的标准实现,是基于Apache许可证下开发的自由软件。 42 Tomcat下载下载地址:http:/jakar
23、ta.apache.org/downloads/binindex.html 43 Tomcat和JServ的区别 JServ是由Apache开发并使用的ServletAPI2.0兼容的Servlet容器。Tomcat是完全重写的ServletAPI2.2和JSP1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。三、系统需求分析1、简介网上图书销售系统是一个基于内部网和外部网的应用程序,采用J2EE技术,提高系统数据的共享性,增加系统服务的对象。1.1 目的使用户和项目人员明确系统的功能和应用范围。1.2范围本系统可以应用于任何操作平台
24、。1.3定义、首字母缩写和缩写语Books sale system on the net (BSS) 网上图书销售系统Electronic commerce (EC) 电子商务1.4参考文献系统开发过程中使用到的文献资料,将在后面专门说明。2、整体说明整个系统共分为13个功能模块。2.1 图书浏览模块 图书浏览模块是互联网程序,它的用户是顾客。顾客可以分不同图书种类浏览图书的名称、种类、价钱、出版社和出版日期等;顾客可以输入图书关键字查询图书信息。2.2 图书管理模块图书管理模块是应用程序,它的用户是图书信息管理员。图书信息管理员可以添加、删除、修改图书图书的种类和图书。2.3 购物车模块购物
25、车模块是互联网程序,它的用户是顾客。顾客可以将选中的图书放入购物车,可以修改购物车中图书的数量,可以删除购物车里的图书,也可以通过购物车下订单。2.4 订单管理模块订单管理模块是应用程序,它的用户是订单管理员。订单管理员负责查看订单,检查库存是否有订单的图书,然后将图书发送给顾客;如果库存没有订单上的图书,需要及时联系客户和填写图书请购单。2.5 顾客反馈信息模块顾客反馈信息模块是互联网程序,它的用户是顾客。顾客可以通过该模块填写反馈意见,表达满意和部满意。2.6 顾客反馈信息管理模块顾客反馈信息管理模块是应用程序,它的用户是顾客反馈信息管理员。顾客反馈信息管理员查看每个客户的反馈意见,及时处
26、理不满的意见。2.7 特价图书信息管理模块特价图书信息管理模块是应用程序,它的用户是特价图书信息管理员。特价图书信息管理员可以增加、删除、修改每天的特价图书。2.8 特价图书信息显示模块特价图书信息显示模块是互联网程序,它的用户是顾客。顾客可以查看最新的特价图书列表,可以将特价图书放入购物车。2.9 顾客的注册、登录模块顾客的注册、登录模块是互联网程序,它的用户是顾客。顾客需求登录图书销售系统才可以选购图书。如果顾客还部是系统的用户,可以注册为系统的用户。2.10 信息管理的登录模块信息管理的登录模块是应用程序,它的用户是信息管理员。信息管理员分为图书信息管理员订单管理员、顾客反馈信息管理员、
27、特价图书信息管理员和用户管理员,不同的信息管理员可以通过该模块进入不同的模块。2.11 用户管理模块用户管理模块是应用程序,它的用户是用户管理员。用户管理员可以创建、删除、修改不同信息管理员的用户名和密码。2.12 新闻显示模块新闻显示模块是互联网程序,它的用户是顾客。顾客可以浏览网站发布的各类型的新闻信息。2.13 新闻管理模块新闻管理模块是应用程序,用户是新闻管理员。新闻管理员可以发布、修改和删除网站上的新闻信息。2.14 论坛论坛是互联网程序,用户是顾客。提供给登录系统的顾客们一个交流的空间。3、具体需求3.1 功能(1) 顾客可以方便地查看图书信息,及了解每天的特价图书。(2) 顾客可
28、以方便地队购物车中的图书进行增加、删除、修改和下订单。(3) 顾客可以反馈自己的满意和部满意意见。(4) 图书管理员可以方便地添加、删除、修改图书。(5) 订单管理员可以方便地查看订单,可以方便地进行发货操作和记录缺货的处理情况。(6) 顾客反馈信息管理员可以方便地查看顾客反馈信息和记录反馈信息的处理情况。(7) 特价商品管理员可以方便地添加、删除、修改特价图书。(8) 用户管理员可以方便地增加、删除、修改各种部同的用户。3.2 可用性本系统符合Microsoft的GUI标准。3.3 可靠性(1) 服务器模块可以24小时无人运行;(2) 平均故障间隔时间是每月1次;(3) 平均修复时间是3小时
29、;(4) 可采用双服务器保证数据完整。3.4 性能(1) 响应时间:对远程查询访问响应的平均时间是3秒,最长是10秒;Intranet程序的响应时间少于1秒。(2) 吞吐量:每秒处理的事务数达到2000条。(3) 容量:系统可以容纳的客户数是1000人同时使用。3.5 可支持性本系统应用JDK1.4.1、Tomcat4.1.3、Dreamweaver MX 2004。3.6 设计约束应用的开发工具是JDK1.4.1、Tomcat4.1.3、Dreamweaver MX 2004和Access,设计的模块和性能将受到上述开发工具的约束。3.7 联机用户文档和帮助系统需求联机用户文档、帮助系统需求
30、说明书。3.8 购买的构件无。3.9 接口(1) 用户界面本系统的用户界面分为用户程序和网络程序两个部分。(2) 硬件接口本系统的硬件接口是USB2.0.(3) 软件接口软件输出的数据格式由用户决定。(4) 通信接口本系统的通信接口由Tomcat提供。四、系统建模本部分使用用例图和活动图来描述整个系统。1、顾客用例图表示顾客可以访问的五个模块2、信息管理员用例图表示不同信息管理员的具体职能。3、图书浏览模块的活动图顾客可以根据图书种类浏览图书,也可以通过查询图书名称浏览图书。4、图书管理模块的活动图图书信息管理员可以查看图书种类的信息,可以添加、删除、修改图书的种类和图书。5、购物车模块的活动
31、图顾客可以通过购物车模块购买图书、下订单和删除订单。6、订单管理模块的活动图订单管理员可以根据日期范围和订单标识查询相应的订单,可以完成订单和填写订单不能完成的原因,修改订单图书数量和删除订单等操作。7、顾客反馈信息模块的活动图顾客可以填写和提交反馈信息。8、顾客反馈信息管理模块的活动图反馈信息管理员可以查看反馈信息和填写反馈信息的处理情况。9、特价图书信息管理模块的活动图特价图书管理员可以添加特价图书和设置优惠价格。10、特价图书信息显示模块的活动图顾客可以方便的查看特价图书的显示内容。11、顾客的注册、登录模块的活动图正确登录的顾客才可以购买图书,提交反馈信息。12、信息管理的登录模块的活
32、动图通过信息管理的登录模块使不同用户拥有部同的功能。13、用户管理模块的活动图用户管理员可以添加、修改和删除用户。14、新闻浏览模块顾客可以浏览网站发布的各种新闻信息。15、新闻管理模块新闻管理员可以发布、修改和删除网站上的新闻信息。我们在让所有的管理员都可以使用该模块。16、论坛模块提供给登录系统的顾客们一个交流的空间。17、系统流程图下图简要地展示了系统主要功能模块之间的逻辑关系,其中的每个功能模块并不一定代表一个独立的页面。五、数据库设计1、数据字典整个系统的数据库由以下6个数据表组成。(1)顾客数据表(customer)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1cust
33、omerNamenvarchar50用户名2customerPasswordnvarchar50密码索引字段名索引号排序CustomerNamePK_customerName升序(2)用户数据表(userTable)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1userNamenvarchar50用户名2userPasswordnvarchar50密码3userPositiomint用户类型索引字段名索引号排序userNamePK_userName升序注:userPositiom:0表示用户管理员,1表示图书信息管理员,2表示订单信息管理员,3表示反馈信息管理员,4表示特价图书信息
34、管理员。(3)图书种类数据表(category)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1categoryIDnvarchar100图书种类标识2categorynvarchar100图书种类3categoryDes500种类描述索引字段名索引号排序categoryIDPK_categoryID升序(4)图书数据表(books)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1bookIDnvarchar100图书标识2bookNamenvarchar100图书名称3categorynvarchar100图书类型4isDiscountint0是否特价5pricefloa
35、t价钱6discoumtPricefloat0优惠价钱7publishnvarchar100出版社8PublishDateDateTime出版日期索引字段名索引号排序bookIDPK_bookID升序 注:isDiscount:0表示正常价格图书,1表示特价图书。(5)订单数据表(orders)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1serialIDint序号2orderIDnvarchar100订单标识3bookIDnvarchar100图书标识4booksQuantityint图书数量5bookPricefloat图书价钱6customernvarchar50顾客名字7O
36、rderDateDateTimegetDate()订单日期8isDoneint0是否完成9orderProcessInfo500处理情况索引字段名索引号排序orderIDPK_orderID升序 注:isDone:0表示未完成的订单,1表示已完成的订单。(6)顾客反馈信息数据表(orders)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1feedbackIDnvarchar100反馈信息标识2feedbackTitlenvarchar100反馈信息标题3feedbackContentnvarchar1000反馈信息内容4feedbackDateDateTimegetDate()反馈
37、信息日期5customernvarchar50顾客名字6isDoneint0是否完成处理7FeedbackAnswernvarchar1000处理信息8feedbackAnswerFillernvarchar50处理信息人员9feedbackAnswerDateDataTime处理日期索引字段名索引号排序feedbackIDPK_feedbackID升序 注:isDone:0表示未完成的反馈信息,1表示已完成的反馈信息。除以上数据表外,在实际开发中还有新闻信息方面的数据表。(7)系统信息数据表(System)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1idint4编号2namen
38、varchar10姓名3mailnvarchar50电邮4webnvarchar50网站5telnvarchar20电话6oicqnvarchar20QQ7sitenamenvarchar50站名8faxnvarchar20传真9maddrnvarchar50银行汇款地址10msnnvarchar50银行汇款帐户11mnamenvarchar10收款人名12codeint6邮政编码13ymaddrnvarchar50邮递地址14ymnamenvarchar10邮递受人名索引字段名索引号排序idPK_id升序(8)论坛数据表1(Guest)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注
39、1idint序号2namenvarchar10姓名3mailnvarchar50邮件4titlenvarchar50标题5contentnvarchar500内容6datedatetime50日期索引字段名索引号排序idPK_id升序(9)论坛数据表2(GuestInfo)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1IDint4序号2Namenvarchar10姓名3Emailnvarchar10邮件4Oicqnvarchar10QQ5Homepagenvarchar50主页6Subjectnvarchar50主题7Contentnvarchar20内容8datedatetime日期索引字段名索引号排序IDPK_ID升序(10)新闻数据表1(news)字段名数据类型大小默认值允许空值唯一主键自动增加外键备注1news_idint4序号2newsclass_idnvarchar10类型3news_titlenvarchar10标题4news_