基于web的网上书店管理系统大学本科毕业论文_第1页
基于web的网上书店管理系统大学本科毕业论文_第2页
基于web的网上书店管理系统大学本科毕业论文_第3页
基于web的网上书店管理系统大学本科毕业论文_第4页
基于web的网上书店管理系统大学本科毕业论文_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论1.1.电子商务简介Internet的发展,为改变传统商业运作模式提供了一种技术上的可行性方案:利用Internet的技术和协议,建立各种企业内部网(Intranet),企业外部网(Extranet),通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际生活中,这种方案已经被广泛运用到了实际商业活动中了,人们将这种交易模式称为:电子商务。当今比较流行的网上书店国外有“亚马逊()”,国内有“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。设计和完成一个电子商务网站,将会牵涉到许多技术上的问题,如:动态网页制作技术,后台数据库的设计和管理,通过实际的制作这个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。1.2.设计此网站的现实意义1.开发此网站对于我个人和我的朋友以及所有的大学生都有很重要的现实意义。首先它建立了一个平台,让我能实现一直有的梦想,就是将在大学中的书籍都卖掉,并不是当作费纸,而是作为传播知识的读本。2.开发此网站从节省能源上来说,可以节省纸张,减少浪费。3.学习新技术,培养自学和探索能力目前流行的技术有JSP、ASP、PHP等,结合HTML都能够快速开发网站,要完成毕业设计就要在其中选择一种最合适的技术来进行开发,无论选择某一种技术,都能够学习到最新的开发技术。此外开发的时候一定会遇到疑难问题,这就需要自己寻找资料和开动脑筋。4.符合教学改革趋势作为“21世纪的通行证”,计算机正受到越来越多人的关注。而且计算机教育已走出学校的大门,逐渐成为每个人终身学习的内容。事实上,现在IT教育不仅在学校中,在社会上也日益受到重视。许多有识之士认为,信息技术不单是应用广泛的高新技术,而且已成为其他许多学科的基础,并构成人类文化的组成部分,渗透于现代生活的各个方面。CC2001(ComputingCurricula2001)草案要求:计算机专业大学生应在毕业前必须了解计算机文化的发展与特点,具有计算机相关法律和道德意识;掌握多媒体技术和网络技术的软、硬件基础知识和基本操作;了解早期与现代程序设计方法的区别,具备能使用某种语言编写和调试简单程序的能力;了解单机和网络操作环境,具有在人机交互环境中运用常用软件处理日常事务的能力;具有结合专业需要开发计算机应用系统的初步能力和较强的自学能力。而实际上国内的情况和CC2001的要求还差的很远,所以,国内IT教育正在进行改革,争取在十年之内能够普及IT教育。这个项目完全符合国内教学改革趋势。1.3.开发目标遵循软件工程的原理,力争开发出一套高效、安全、可靠、功能适用、易于维护、易于理解、设计合理、界面清晰、编码规范、操作简便的网站,减少操作人员的工作量,全面提高公司的工作效率、管理水平和经济效益,从而实现物流、价值流、信息流的集成,提高竞争能力。1.4.开发工具简介1.4.1JSP简介传统的HTML代码中,利用HTML标签的扩展,构成页面,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好。此外,JSP技术是基于Java的,要想对他了解更多,就必须了解Java语言的特性。Java是1990年由Sun公司开发用来适应于消费类电子产品的软件,但是由于商业上的种种原因,这些电子产品没有能够推向市场,Java也差点夭折。1994年,经过Java开发小组的认真研究,决定把改进后的Java用于Internet的WWW开发中,1995年,Sun公司举行了隆重的Java发布会,并推出了测试版,此后Netscape公司宣布将支持Java,同时,Sun公司又联合SGI公司和Macromedia公司联合制定了基于Java的开放式多媒体标准。不久,IBM、Microsoft、Oracle、Novell和Borland等著名公司也相继宣布支持Java。Java成为了当今最流行的网络编程语言。Java的许多研究者根据Java的作者所著写的Java技术“白皮书”中所解释的Java设计初衷以及取得的成就,整理出Java十一项关键特点。这十一项特点也是比较公认的。Java的初学者可以在很多Java入门教材中找到相似或相近的观点。这十一项特点主要有:简单:Java的语言非常简单,省略了C++中许多极易混淆的语法特性。可移植:Java所采用的虚拟机原理,使它脱离了硬件的束缚达到跨平台应用。面向对象:Java完全支持面向对象技术的编程结构。解释型:Java的字节码机制说明了它是一种半编译和半解释型语言。分布式:Java提供了强大而易用的网络应用。高性能:Java通过改进的解释器和特殊的CPU可以显著提高字节码的执行效率。健壮:Java取消了指针这种容易出错的结构,提高了程序的健壮性。多线程:多线程的优点是具有了更好的交互性和实时行为。安全:Java的安全机制是现今所有语言中最为成功的。动态:Java可以不断向库内添加新方法以及新实例变量。中性结构:Java生成的字节码是一种在不同平台上保持独立格式。当然Java其他的特点也相当有用,我也是第一次接触Java,还没有切身体会。但是它的面向对象的特性和易学性已经给了我足够的选择理由。因此,最后我选择基于Java的JSP技术作为动态网页的开发技术。1.4.2SQLSERVER2000简介MicrosoftSQLServer2000是Microsoft公司继SQLServer6.0和SQLServer7.0以后,在新千年推出的友谊改进的新版关系型数据库管理系统,它能使用户快捷地管理数据库和开发应用程序。SQLServer2000使用了最先进的数据库结构,具有强大的Web功能,它可以利用高端平台以及最新网络和存储技术,可以为最大的Web站点和企业应用提供优良的扩展性和可靠性,使用户能够在Internet领域快速建立服务系统,为占领市场争得了宝贵的时间。同时,SQLServer2000还为用户提供了重要的安全性能的增强,为用户的安全提供了可靠的保证。另外,SQLServer2000在数据库服务器自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的工作,从而又经历处理重要的问题,使系统在商业战略上占得先机。今天,MicrosoftSQLServer2000是在成熟和强大的关系型数据库中最受欢迎、应用最广泛的一个。它完全满足电子商务、关键业务和数据仓库应用程序的需求。由于其优良的性能、可伸缩性、可编程价值,它已成为众多客户关系管理系统(CRM)、商业智能(BI)、企业资源规划(ERP)、以及其他商业应用程序供应商和客户的首选数据库。当今有许多著名网站就构筑在MicrosoftSQLServer2000上,如M、D、B等。虽然较之于Oracle、DB2等数据库管理系统,MicrosoftSQLServer在开放性、可伸缩性、安全性和系统性能方面有一定的差距,但它在易用性和实用性方面的优势,因此选择SQLServer2000作为系统的后台数据库开发工具。第2章可行性分析可行性研究是以相对短的时间和相对低的成本来确定给定的问题是否有解。在这个阶段,必须就时间、人力、财力、效益、技术等要素来评估是否有足够的资源支持本网站开发的需求。因此要从技术可行性、经济可行性、操作可行性等方面来进行研究。2.1技术可行性分析开发风险:开发时间为十六周,可以在指定时间内完成。人力资源:该网站由一人完成,有老师做技术指导。技术能力:该网站是以JSP为前台开发工具,以SQLServer2000为后台数据库,可以实现这个网站。物资设备:PC机一台。2.2经济可行性分析网站规模并不很大,开支较少,但需要专业人员进行维护和管理,所以网站建设需要先期投入,但网站的平稳运行将给企业带来潜在效益。对于本网站的经济可行性来说,主要的开发工具的选择,JSP、SQLSERVER2000都比较简单、实用,价格也比较合理,是比较理想的开发工具。对于用户来说,合理方便的网站设计布局和即时的响应速度,足可以满足各种用户的不同需求,所以在进行本网站设计时考虑到这些,将每位访问本网站的用户的需求作为开发的根本,建立操作简单、界面友好、使用灵活、实用性强、安全性高的网站。2.3其他方面的可行性分析运行环境可行性:网站可以运行在安装了Tomcat5以上版本和JDK1.5(Java的编译环境,是所有Java开发工具的运行基础)Dreamweaver

8(网页制作工具,可以高效的开发HTML代码)SQL

Server

2000的Windows2000/XP平台上。

第3章

需求分析3.1业务流程本图书电子商务网站的用户分为使用者和管理者两种,使用者只有使用部分功能的权限,而管理者具有实用所有功能的权限。

用户可以使用管理者预先设置好的用户名和密码登陆到本网站,并使用本网站查看最新书籍、热销排行、购买图书等操作。

在登录网站时,网站会把用户所输入的用户名与数据库中的进行检验,并在主页面加载时检查用户权限。进入网站后用户有权限的功能可用,无权限的功能则不可用。3.2数据流图数据流图描述系统的逻辑模型,是结构化系统分析的主要工具,它能图形化地显示出系统中数据的使用,表达数据在企业内部信息传送系统内部的逻辑流向以及本系统的逻辑功能和数据的逻辑变换。数据流图(Data

Flow

Diagram,简称DFD图)是用一些规定的图标和符号来描述数据在系统中的流动和处理情况。数据流图一般采用自上而下逐步求精的结构化表示方法。

其实,软件系统归根到底是一个信息处理系统,其最基本的功能就是接受输入的信息,对输入的信息按照规定的方法归类,处理,存储,转变为所需要的信息,最后通过输出系统向用户输出所需求的信息。其中最核心的部分就是对信息(或者称作数据)的处理,因此不同的数据也就不决定了所需要的不同的处理方法和算法,数据流图也就是以图形的方式将系统中数据传递、转化的过程以直观的方式表达。

本网站的数据流图如下:DFD顶层图响应信息响应信息客户管理员网上书店系统D信息表后台订单信息发货进货单分析结果银行帐号表更新金额信息输入图3-1DFD顶层3.3数据存储说明管理员表(管理员用户名,管理员密码)注册用户表(ID,用户名,用户密码,姓名,性别,地址,电话,邮编,邮件,时间)图书类别表(书籍ID,图书类别名)图书信息表(ID,书名,图书类别,作者,出版社,书号,内容介绍,书价,数量登记时间)用户-订单表(ID,订单编号,用户序列号,提交订单时间,交货时间,总金额)订单-图书表(ID,订单序列号,图书序列号,数量)第4章总体设计总体设计的基本目的是比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。整个系统的功能模块图:

网上书店系统网上书店系统注册用户管理员用户注册订单管理查看订单购物车管理在线购书用户登录用户管理图书管理管理员登录图4-1系统的功能模块图4.1功能描述在线书店系统主要是针对中小型书店,图书管理员将图书信息整理归类发布到网上,用户登录该网站后,首先要注册为会员才能购买图书,提交购书单给图书管理员,并同时将费用通过电汇或邮寄的方式交付到图书管理员处。管理员在收到付款后,发货给购物者,并同时更新网上有关于该订书单的付款状态,从而完成一次交易。只允许系统规定的图书管理员来添加和修改图书信息;图书管理员可以查看该系统的所有注册用户信息,可以修改某一个注册用户的基本信息,也可以删除某个用户;图书管理员可以查看该系统的所有订单,可以删除订单,也可以修改订单的付款状态、发货状态。图4-2管理员实例图任何一个网络用户都可以注册称为该系统的固定用户,注册时需要填写基本注册信息,还可以修改个人的基本信息。图4-3网络用户实例图只有注册用户才能登录此系统,购买图书。购买图书时可以任意选购图书,任意填写购买数量,可以修改已选择图书的购买数量,可以删除已选择的某一本图书,可以取消购买,可以提交购买下达订单确认一次购买成功。图4-4用户实例图图4-5购物顺序图购书后的用户可以登录系统查看自己的订单的付款状态和发货状态。图4-6订单状态图4.2数据库概念设计数据库概念模型设计的关键,在于数据库逻辑结构,其主要特点是:1.反映现实世界,包括实体和实体间的联系,能满足用户对数据处理的需求,实现世界的一个真是模型。2.易于理解,从而可以和不熟悉计算机的用户进行意见交换。3.易于向关系、网状等各种模型转换。最常用的表示概念性数据模型的方法,是实体联系法。用这种方法表示的概念性模型又称为E-R模型。实体联系E-R图如下:

管理员管理员密码ID用户名姓名性别管理员密码管理员用户名用户地址电话邮编注册时间管理图书信息表书价订单号作者数量书号书名图书类别ID登记时间订单购书ID订单时间序列号交货时间金额是否付款是否发货1n1n1图4-7总体E-R图由前面的功能模块设计的可知,此网上书店系统的服务对象有两类,即管理员和注册用户,由于管理员和注册用户对此系统的操作有很大差别,在系统中要分别记录他们的数据信息,因此首先需要如下两个数据实体:管理员数据实体:记录管理员的用户名和密码,这是管理员登录系统时所必需的。 注册用户数据实体:包括用户名、密码、真实姓名、性别、联系地址、联系邮编、联系电话、电子邮件等信息。这些信息由用户自己进行维护,管理员可以根据这些信息来了解用户。作为电子书店系统,图书数据自然是最为重要的。图书管理员需要将琳琅满目的图书进行分类整理,这样顾客可以很方便的查找图书,同时也便于管理员管理图书,这就需要如下的两个数据实体: 图书类别数据实体:记录该系统中图书的类别信息,主要包括类别名称和编号。 图书信息数据实体:记录图书的基本信息,包括图书名、作者、出版社、书号、定价、总数量、图书简介、图书类别。这些数据由管理员进行录入和维护,用户在选购图书时进行浏览。以上的四个实体是最基本的数据实体,对于电子购物网站来说,需要随时记录和更新顾客的购买信息,因此需要如下的两个数据实体: 用户订单数据实体:记录所有用户下达的订单的记录,包括用户的身份编号、订单的编号、订单的名称、下达订单的日期、付款状态、发货状态;管理员可以根据实际的状况来修改部分状态信息,用户可以随时查看该订单的状态信息。 订单图书数据实体:记录所有订单包含的图书信息,包括订单的编号、图书的编号。

第5章

详细设计

详细设计阶段的根本目的是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。5.1界面设计5.1.1前台界面设计1.用户注册页面用户需要注册后才能在此网络书店系统上购书,因此需要设计一个操作简单方便的用户注册页面。用户在注册界面内输入的个人信息要添加到数据库的用户表(My_Users)中,根据这个表的字段信息,可知注册界面中需要输入的用户信息包括:登录用户名、密码、确认密码(以便保证用户两次输入的密码都一样)、真实姓名、性别、联系地址、联系邮编、联系电话和电子邮件。用户注册页面如下图所示。图5-1注册界面2.用户登录页面注册用户只有登录到此网络书店系统后,才能正常使用此系统的提供的功能。用户登录系统时需要输入自己的用户名和密码,系统根据数据库的用户表(My_Users)中的记录核实用户输入的登录信息合法后,用户才能登录此系统。图5-2登录界面登录成功后可以修改自己的信息图5-3用户修改信息3.图书分类显示功能:按图书的分类显示相应类别的所有图书的信息,显示信息包括:图书名称、作者、单价、图书简介以及图书对应的币面图片。图书订购功能:在图书显示界面中,客户可以选购图书,并指定选购的数量。图5-4选购图书4.用户在线购物页面用户登录到此网络书店系统后,就可以在线购书了。在线购书时,首先查看有那些图书。根据图书的分类,设计了图书的列表页面,此页面中列出了图书的基本信息:图书名称、作者、图书类别、出版社、单价。在图书列表页面中单击“详细资料”超链接,可以查看图书的详细信息,此页面只是显示数据表My_book中的基本数据。每一本图书还需要提供“购买”的按钮,以便用户能够方便的购买。在图书列表页面中单击“购买”超链接,可以打开图书购买页面,此页面中用户可以输入要购买的图书的数量,单击“购买”按钮,即可将该图书添加到购物车。购买图书页面如图所示。图5-5在线购物界面5.购物车管理界面当用户选购完自己需要的图书后,需要提交购物车结帐。用户首先要查看在购物车里自己已经选购了哪些图书、图书的数量和图书的相关信息。此页面中要实现显示购买图书列表、购买图书的数量,还要能实现删除已经选购的图书、提交购物车和清空购物车的操作。购物车管理页面如图所示。图5-6购物车界面6.用户订单查看用户提交购物车后,系统就自动生成了订单。订单提交给系统管理员进行管理,订单的付款状态和发货状态由管理员根据实际情况进行更新,用户也需要随时查看自己下达的订单的信息。订单查看页面要显示的信息包括:订单的编号(用户的每一次提交购物车就会生成一个订单ID)、提交时间、总金额(一此购物的购物总金额)、付款状态、发货状态。订单对应的数据表为My_Indent。图5-7订单界面5.1.2后台界面设计1.管理员登录页面根据系统管理功能保密性的需要,管理员要通过自己的登录入口登录系统对系统进行管理和维护。由数据库部分的设计可知,管理员登录的用户名和密码存放在数据表My_BookAdminuser中,在建立该表时填加了一个管理员的记录,用户为admin,密码为admin。管理员用户登录的界面中,包括用户名和密码的输入框,还要包括提交登录的按钮。图5-8管理员登录界面2.图书管理页面管理员登录后,就可以管理图书了。根据功能模块图的设计可知。图书的管理有:增加图书,取得图书列表,察看图书信息,修改图书信息,删除图书。添加图书对应的页面是addbook.jsp。添加图书时需要添加图书的基本信息。图5-9添加图书界面3.订单管理页面对于网络书店来说,需要记录用户购买图书的情况,这就需要记录订单信息。用户每一次购买,都自动生成一个购买订单供管理员查看,因此就需要设计一个管理员管理订单的功能,订单中记录的信息主要涉及到用户-订单数据表My_Indent和订单-图书数据表My_IndentList表中的数据。订单页面应该显示所有用户的所有订单的列表,和数据表的字段对应,应该显示的信息有:订单编号、用户名、下单时间、交货时间、总金额、订货人IP、付款状态、发货状态。管理员在此页面中可以查看每一个订单的图书列表情况,可以删除任何一个订单。图5-10订单管理当管理员需要管理某一个订单时,列表中的“详细情况”链接。此链接的结果要打开这个订单的图书列表信息。此页面和My_Indent数据表对应,显示该订单的所有图书列表,包括字段:图书名称、作者、图书类别、单价、数量,同时为了方便管理,还需要统计该订单的总金额和总数量。4.用户管理页面对于一个网络书店系统来说,用户要购买图书时要下订单,因此需要记录下单的用户信息,这些用户的信息需要由系统管理员来进行管理和维护。为此,设计了用户列表的页面。次页面中需要包括如下的信息:用户的ID号、用户名、真实姓名、联系地址、联系电话、Email。这些只是显示了用户的基本信息,还应该提供用户管理的入口,包括修改、删除,还应该可以查看详细资料的查看入口。图5-11用户信息管理5.2数据库概念设计此网上书店系统采用SQLServer2000数据库管理系统。首先用户需要在SQLServer2000的企业管理器中建立一个数据库,将其命名为“dbhouse”,然后根据数据库的逻辑结构分析创建以下6张数据表: 管理员表(My_BookAdminuser):用于存放管理员的数据记录。 注册用户表(My_Users):用于存放注册用户的记录。图书类别表(My_BookClass):用于存放图书记录。 图书信息表(My_Book):用于存放初始的图书类别记录。 用户-订单表(My_Indent):用户存放用户下达的订单基本信息。 订单-图书表(My_IndentList):用于存放订单的图书信息。以上6张数据表的表结构分别如图所示。表5-1My_BookAdminuser表结构字段名称字段类型说明AdminUserVarchar(20)管理员用户名AdminPassVarchar(50)管理员密码表5-2My_User表结构表5-3My_BookClass表结构表5-4My_Book表结构表5-4My_Indent表结构表5-5My_IndentList表结构第6章测试用户注册测试测试流程(1)从到达用户注册页面,添加用户信息并提交。注意使用空用例,测试E-mail地址判断、号码判断等内容。(2)到达购物车页面,看注册完毕是否自动登录。(3)退出。从首页重新登录。到达购物车页面,查看用户资料是否正确。测试结果表6-1注册测试表页面全路径测试用例测试结果操作流程/shop/reg.jsp用户名:abcd密码:1234E-mail:abcd@163.com性别:女地址:吉林其它省略用户名为空提交一次密码为空提交一次E-mail为空提交一次。不合法E-mail提交一次。用户名,密码,E-mail为空不允许提交虚假的E-mail不允许提交最后注册成功然后去往到达购物车页面/index.jsp用户名:abcd密码:1234登录成功查看用户资料正确然后去往到达购物车页面管理员登录测试测试流程(1)以管理员身份从首页登录,测试后台管理页面的登录功能,以及管理员用户是否建立成功。(2)添加普通操作员www。测试添加操作员功能,测试确认密码功能。(3)退出。以www身份登录,看是否成功。测试结果表6-2管理员登录测试表页面全路径测试用例测试结果操作流程/shop/login.jsp用户名:admin密码:admin登录成功在地址栏里面直接键入地址后登录/shop/login.jsp用户名:admin密码:www登录失败,提示用户名密码错误/shop/login.jsp用户名:www密码:www登录失败用户购物测试测试流程(1)以普通用户身份从首页登录。(2)选择计算机类然后选择JAVA教程。(3)选择“添加到购物车”按钮,到达购物车页面。(4)修改数量为2。(5)重复以上操作,测试多次购物的结果。测试结果表6-3用户购物测试表页面全路径测试用例测试结果操作流程/shop/shoperlist.jsp查看图书是否成功添加修改数量为2,看价钱计算是否正确再次购物,看多款产品价钱计算是否正确删除某一款产品,看是否正确正确成功订单管理测试测试流程(1)用户从购物车页面到收款台,选择付款方式,添加收货人后生成订单。(2)测试取消订单功能。取消后再生成订单。(3)从后台管理程序登录,对订单进行确认。(4)再一次试验取消订单功能。测试结果表6-4订单管理测试页面全路径测试用例测试结果操作流程/shop/order.jsp分别选择各种结算方式,看是否保存到数据库中成功/shop/order.jsp确认订单是否生成,查看订单的状态,取消订单看是否成功成功/shop/order.jsp修改订单状态为确认成功第7章经验与教训总结本次项目中,我们用到的主要技术是JSP,在此,就其作一个简单的总结,JSP工作原理:在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。

如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用,

然后servlet实例便被标记加入"垃圾收集"处理。jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。由于我们是第一次做项目,根本没有什么经验,首先就是编码,也没有具体的设计思想,而且编出来的代码错误多多,到头来只是浪费时间。后来我们采用面向对象的设计思想,把网站分成若干模块,一个一个的将其实现,最终再把他们又相互联系起来形成一个整体,而且当遇到问题时调试又十分容易处理。另外测试也可以单独地进行。可以这么说,通过这次实践,我们基本上了解和掌握了面向对象的设计思想。总结短短两个月毕业设计,每天忙忙碌碌,一步一步走来,今天终于迎来了自己的成果。在这期间,经常遇到各种各样的问题,时常为不能解决的问题而一筹莫展,但这并未因此打消我的信心,而是使我更加专著的去解决问题,也因此这相对短暂的时间却是三年来过得最为充实的日子,充满了挑战的艰辛与乐趣。在老师的指导和督促下,经过两个月的紧张设计与开发,我的毕业设计基于JSP的网上书店系统终于开发完成了。通过本系统的开发使我所学的专业知识得到了综合的运用,对以前很多抽象、枯燥的理论知识加深了理解,同时也使我学会了利用结构化程序设计思想开发管理信息系统,并用模块化方法加以实现。通过本次的系统开发,我深刻地认识到信息系统开发的每一步都是以上一步为基础的。因此每一步文档的编写都必须正确、完整,否则就会给下一步的工作带来不必要的麻烦,加大工作量。因为系统是为用户服务的,所以要充分了解用户的需求,考虑用户的特点和使用方面的习惯,以协调人机关系。在系统实施中应结合各方面的要求,尽可能选择自己熟悉的程序设计语言。系统测试中要根据实际情况设计有效的测试方法。在系统设计过程中,从用户的角度出发,在系统的可用性和易用性上做了很多功夫,力求能达到最好的效果。但由于我的编程实现能力和毕业设计的时间都有限,我对学生档案管理这一系列工作的具体内容也不是特别地了解,所以目前我还不能把网上书店这个系统较为完善地实现出来,希望以后有机会能够弥补这个遗憾。能够顺利的完成这次毕业设计,也得益于指导教师的帮助,在他们的帮助下,通过到网上查资料,借阅图书等一些途径,使困难很快的得到解决。短短的两个月,终于按照设计说明书的要求完成了自己的毕业设计,由于时间有限、自身知识水平不足,我的设计还难免存在着很多不足的地方,请各位老师给予指正和提出宝贵的建议,我坚信在今后的工作中我会做得更好。参考文献

[1]

程志艳.JSP实用教程.北京:清华大学出版社,2005.12

[2]

林义证.HTML&ASP网页制作教程.北京:中国铁道出版社,2000.5

[3]

王旭川.ASP程序设计入门手册.成都:西南交通大学出版社,2001.5

[4]

David

Buser,

John

Kauffman.Asp

3.北京:机械工业出版社,2001.3

[5]

Paul

Whitehead.Active

Server

Pages

3.0.北京:清华大学出版社,2001.4

[6]

曹哲.软件工程.北京:中国水利水电出版社社,2004.7

[7]

王珊.数据库系统概论.北京:高等教育出版社,2004.6

[8]

赵池龙.实用软件工程[M].第1版.北京:电子工业出版社,2006.3

[9]

盘宏华.基于JSP和ACCESS的网上书店设计与实现.重庆科技学院学报(自然科学版).2006.3

[10]

孙良军.

Dreamweaver8网页设计全方位学习.

北京:中国青年出版社,

2006.5

[11]

何健辉

张珞玲

于芳,邓晓蓓.

JSP

组件开发指南.北京:中国电力出版社,2002.4

[12]

黄雷

杨志

游坤等.JSP开发动态网站实例荟萃.

北京:机械工业出版社,2003.6

[13]

石志国

李颖

薛为民.

JSP程序设计.

北京:清华大学出版社,2005.10

[14]

卢镇波,李青.ASP编程实例入门与提高.北京:电子工业出版社.2005.10

[15]

赵津燕.

数据库管理与开发技术.北京:中国水利水电出版社,

2004.2

致谢大学4年的学习生活即将结束,在这4年的学习生涯中得到了许多人的关心和帮助,在此,我要衷心感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长的过程中给予了我很大的帮助。经过近几个月的忙碌,本次毕业设计已经接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及同学们的支持,想要完成这个设计是难以想象的。这次做毕业设计的经历也会使我受益良多,我感受到做毕业设计是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。不积跬步何以至千里。本设计能够顺利的完成,要特别感谢帮助我完成毕业设计的指导老师黄耀霖的关怀和教导,他对我的毕业设计提出了很多的建议,还给我提供了大量的资料。他严谨的治学态度、诲人不倦的教学作风给我留下了深刻的印象。此外还要感谢各位任课老师,正是他们平时的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业设计工作顺利完成,在此向全体老师表示由衷的谢意,感谢他们4年来的辛勤栽培。附录1.JDK安装完成之后我们来设置环境变量:我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量:(1)设置好path变量,使得我们能够在系统中的任何地方运行java应用程序,比如javac、java、javah等等,这就要找到我们安装JDK的目录,比如我们的JDK安装在C:\jdk1.6.0目录下,那么在C:\jdk1.6.0\bin目录下就是我们常用的java应用程序,我们就需要把C:\jdk1.6.0\bin这个目录加到path环境变量里面。在系统变量里找到path变量,选择->编辑;(里面已经有很多的变量值,是在变量值的最前面加上C:\jdk1.6.0\bin;)变量名:path变量值:C:\jdk1.6.0\bin;(2)classpath环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让java解释器知道到哪里去找这个类。通常,sun为我们提供了一些额外的丰富的类包,一个是dt.jar,一个是tools.jar,这两个jar包都位于C:\jdk1.6.0\lib目录下,所以通常我们都会把这两个jar包加到我们的classpath环境变量中setclasspath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。在系统环境变量那一栏中点->新建classpath变量名:classpath变量值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;(注意,CLASSPATH最前面是有个“.”的,表示当前目录,这样当我们运行javaAClass的时候,系统就会先在当前目录寻找AClass文件了。);(3)设置JAVA_HOME:一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径,那么以后要使用这个路径的时候,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;二则是归一原则,当JDK路径改变的时候,仅需更改JAVA_HOME的变量值即可,否则,就要更改任何用绝对路径引用JDK目录的文档,要是万一没有改全,某个程序找不到JDK,后果是可想而知的系统崩溃!三则是第三方软件会引用约定好的JAVA_HOME变量,不然,你不能正常使用该软件.在系统环境变量那一栏中点->新建JAVA_HOME(JAVA_HOME指向的是JDK的安装路径)变量名:JAVA_HOME变量值:C:\jdk1.6.02.数据库脚本创建数据表的脚本代码如下:createtableMy_Book( --创建图书信息表 Id[INT]IDENTITY(1,1)NOTNULL, --编号ID BookNamevarchar(40)NOTNULL, --书名 BookClassintnotnull, --图书类别 Authorvarchar(25)NULL, --作者 Publishvarchar(150)NULL, --出版社 BookNovarchar(30)NULL, --书号 Contentvarchar(4000)NULL, --内容介绍 Prince floatNULL, --书价 AmountintNULL, --总数量 Leav_numberintNULL, --剩余数量 RegTimedatetimeNOTNULl --登记时间 ); altertableMy_Book --设定Id为主键addprimarykey(Id);createtableMy_BookClass( --创建图书类别表 Id[int]IDENTITY(1,1)NotNullprimarykey, --图书类别ID ClassName[varchar](30)notnull --图书类别名 );createtableMy_BookAdminuser( --创建管理员表 AdminUser[varchar](20), --管理员用户名 AdminPass[varchar](50) --管理员密码 );insertintoMy_BookAdminuservalues('admin','admin'); --初始化管理员用户createtableMy_Users( --购书用户表 Id[int]IDENTITY(1,1)notnull, --ID序列号 UserNamevarchar(20)notnull, --购物用户名 [PassWord]varchar(50)notnull, --用户密码 Namesvarchar(20), --用户联系用姓名 Sexvarchar(2), --用户性别 Addressvarchar(150), --用户联系地址 Phonevarchar(25), --用户联系电话 Postvarchar(8), --用户联系邮编 Emailvarchar(50), --用户电子邮件 RegTime DateTime, --用户注册时间 RegIpAddressvarchar(20) --用户注册时IP地址 );altertableMy_Users --设定Id为主键addprimarykey(Id);createtableMy_Indent( --创建用户-订单表 Id[int]IDENTITY(1,1)notnull, --ID序列号 IndentNovarchar(20)notnull, --订单编号 UserId[int]notnull, --用户序列号 SubmitTimedatetimenotnull, --提交订单时间 ConsignmentTimevarchar(20), --交货时间 TotalPricefloat, --总金额 contentvarchar(400), --用户备注 IPAddressvarchar(20), --下单时IP IsPayoff[int]null, --用户是否已付款 IsSales[int]null --是否已发货 );altertableMy_Indent --设定Id为主键值addprimarykey(Id);createtableMy_IndentList( --创建图书-订单表 IdintIDENTITY(1,1)notnull, --ID序列号 IndentNo[int]notnull, --订单号表序列号 BookNo[int]notnull, --图书表序列号 Amount[int] --订货数量);altertableMy_IndentList --设定Id为主键addprimarykey(Id);3.部分代码(1)通用模块在和数据库进行交互之前首先要建立数据库连接。在连接数据库时,需要加载驱动程序,创建连接等操作。这里将连接数据库的这些操作封装成一个类DBCnnectionManger.java,当需要更换,移植数据库时,只需要修改这个类即可,这样可以大大减少移植数据库的工作量。DBCnnectionManger.java代码如下:packageorg.pan.util;importjava.sql.*;publicclassDBConnectionManager{privateStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";//加载驱动程序privateStringurl="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=dbhouse";//设置数据库连接串privateStringuser="sa";//数据库登录用户名privateStringpassword="";//数据库登录密码publicvoidsetDriverName(StringnewDriverName){driverName=newDriverName;}publicStringgetDriverName(){returndriverName;}publicvoidsetUrl(StringnewUrl){url=newUrl;}publicStringgetUrl(){returnurl;}publicvoidsetUser(StringnewUser){user=newUser;}publicStringgetUser(){returnuser;}publicvoidsetPassword(StringnewPassword){password=newPassword;}publicStringgetPassword(){returnpassword;}publicConnectiongetConnection(){try{Class.forName(driverName);returnDriverManager.getConnection(url,user,password);}catch(Exceptione){e.printStackTrace();returnnull;}}publicstaticvoidmain(String[]args){try{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论