基于JSP和MySQL实现的网上商城系统

阿西可可

发布日期: 2020-08-04 12:30:30 浏览量: 4581
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

摘 要

网上商城系统开发存在的两个问题就是后台的管理与消费者操作的方便性,系统从数据库开发的基本内容入手,利用JAVA技术开发了基于Web的在线用户管理模块、在线商品销售模块、在线后台管理模块。实现了最重要的商品销售功能,也就是管理库房中的商品,及管理用户的购物车,从而实现结帐等一系列功能。另外网上商品销售系统还提供给用户查找数据库中商品相关记录的功能。同时,为了保证商品交易的正常进行,还实现了用户的登录注册功能。网上商城系统按照软件工程的要求,对系统进行需求分析,总体设计,详细设计,编码与测试,在此基础上将理论知识与开发技术运用到系统的实现过程当中,完成了网上商城平台的构建。经过大量的系统测试发现,JAVA网站的访问速度较块,安全性较好,有很强的实用性。

本论文详细介绍了开发网上商城的全过程,是按软件工程的思想设计的 ,包括需求分析、系统总体设计、系统详细设计等。

本系统具有多方面特点:系统功能完备,使用方便简捷,人性化的用户界面,安全保密设置齐全,节省经营成本,大大减少了操作人员的工作负担。

关键词:购物车;数据库管理;网上商城

Abstract

To develop the web shop system exist two issues. One is the background management the other is the convenience operation for consumers this article take the database development as the basic start use the JAVA technology to develop web-based online user management module online book sales module online background management module. It implement the most important book sale function i.e. manage the shop and shopping car of consumer thus it implement a series of functions such as check-out In addition, the online book sale system is also provided searching the database record function to consumer. Mean wile in order to guarantee the normal trade. the system implements a registered user login function. Web shop systems conform to the specification of soft project, the system needs analysis, design, detailed design, Coding and testing, on this basis, taking the theoretical knowledge and development of technologies to the system implementation process complete the web shop platform building.

This manual in details introduced to develop the web shop system in the Internet, is thought design that press the software engineering of, include detailed design etc. of total design, system of need analysis, system.

This system has the various characteristics: The system function is complete, using convenient, humanized customer interface, the safety keeps secret to establish well-found, economical management cost, reduced to operate the personnel’s work burden consumedly.

Key Words: Cart; Database Management; Web shop

第1章 绪 论

1.1 课题背景

无店铺零售的悄然兴起,是商业经济发展到一定阶段的产物,也是顺应新的消费需求和技术进步的必然结果。上海市商业经济研究中心副主任齐晓斋分析说,与传统的百货商店、连锁超市、大卖场、便利店等有形商铺相比,无店铺零售业态具有一定的先天优势。一是地段。对于传统的有形店铺来说,一是家门店选址、地段的优劣,几乎能够决定其未来经营的成败,而城市中的商业网点资源,尤其是优质商业网点资源通常十分稀缺。无店铺零售则大多不存在地段方面的制约。二是经营成本。借助日益发展的科学技术,无店铺零售通常能够省却从生产到销售过程中的许多环节,从而有效降低经营成本与交易成本,带来消费者、商家双赢的局面。三是风险。对于个人来说,网上商店等无店铺零售业态的准入门槛相对较低,运转比较灵活,即使遇到风险,也有船小好掉头的优势。专家表示,随着社会经济的发展及消费水平的提高,人们希望得到更加方便、更加快捷的购物方式,同时也乐于尝试各种新的购物方式。在这一市场需求的推动下,企业会对商品零售的方式进行创新,而先进的技术给创新提供了重要支撑与平台。

1.2 课题的目的和意义

鉴于互联网的优势以及对国内外相关电子商务网站现状的研究分析,我决定以基于Web的商城电子商务网站开发作为我的毕业设计主题。立足于设计一个在网络平台上运行的集购物、支付和配送等功能于一体的无店铺商城,以小小的力量推动中国互联网的发展。

1.3 国内外概况

随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。

以下是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状。

90%选择网上购物的人都认为网上购物节约时间和操作方便,他们分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式网上购物已经逐渐成为一种购物趋势,越来越多的人选择网上购物。

消费者对消费要求的日益提高,使得网上商城必须向着专业化迈进,通过提供专业的产品和服务,区分市场。以卓越网和铛铛网为例,日前针对不同的消费者和消费需求,开通了计算机、外语、文学和艺术四个专业商城,这不仅体现了卓越网“最以客户为中心”的经验理念,相信也是中国网上商城未来发展的趋势。

尽管网络版权、阅读习惯仍是制约未来网络出版、网上商城发展的障碍,但网络环境给商品出版业带来深刻的革命,已成大势所趋。网上商城和传统店铺都在继续争取商品发行新的利润空间。目前的情况是,商品发行业对网络的利用并不充分,只刚刚涉足电子商务和网站建设,对网络的其他产品,以及网络及时、一对一、跨时间、跨空间等特性,并没有充分加以利用,可以预计,随着网络进一步融入人们的生活,以技术、服务为品牌支撑的网上商城将成为市场的宠儿和业态创新的引领者。

1.4 课题的发展趋势

随着信息技术广泛、深入地应用到人类社会的各个领域并发挥着越来越重要的作用。计算机软件技术应用于信息管理是发展的必然。作为计算机应用的一部分,充分发挥计算机的优势,将大量复杂的数据交给计算机来处理,有着手工管理所无法比拟的优点。如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,是真正意义上的合理利用资源,也是企事业管理科学化、正规化,与世界接轨的重要条件。

第2章 可行性分析

可行性分析就是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。

2.1 社会可行性

随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。网上商城系统主要目的是进行网上购物,并且严格按照国家法律法规来进行研究和实践,并无法律和政策方面的限制。

2.2 技术可行性

本系统采用的是JSP、Servlet和MySQL开发,Windows XP Professional操作系统,用Dreamweaver进行前台网页界面设计、采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于JSP、Servlet功能强大,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

2.3 操作可行性

目前,大多数计算机都能运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。

2.4 系统的技术介绍

2.4.1 JavaScript介绍

JavaScript是一种新的描述语言,此语言可以被嵌入 HTML 的文件之中。透过 JavaScript可以做到回应使用者的需求事件(如: form 的输入)而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端 (server)处理,再传回来的过程,而直接可以被客户端(client)的应用程序所处理。你也可以想像成有一个可执行程序在你的客端上执行一样!目前已有一些写好的程序在Intenet 上你可以连过去看看,以下有一些计算器的例子,在 Nescape 上。

JavaScript 和 Java 很类似,但到底并不一样! Java 是一种比 JavaScript 更复杂许多的程序语言,而 JavaScript 则是相当容易了解的语言。JavaScript 创作者。可以不那麽注重程序技巧。

2.4.2 MVC介绍

MVC即模型-视图-控制器,是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

MVC的工作模式

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务.

  • 模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性

  • 视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式

  • 控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何的处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据

综上所述,MVC的处理过程是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

MVC的应用

大部分Web应用程序都是用像ASP,PHP或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。

首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。

由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用Macromedia Flash和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。

因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的构件。

MVC的缺点

MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。你将不得不花费相当可观的时间去考虑如何将MVC运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。

根据我个人经验,由于我们将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。

MVC是一条创建软件的好途径

MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,尤其是应用程序的构架方面。如果你肯接受MVC,并且有能力应付它所带来的额外的工作和复杂性,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。

2.4.3 MySQL介绍

MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL开发、发布和支持。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。MySQL主要目标是快速、健壮和易用。自1996年以来,MySQL已在很多系统中得到了应用,其环境有超过 40个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个字节(GB)的关键应用数据。而MySQL最主要的是开源的可以免费使用任何人都可以使用和修改该软件,可以从Internet上下载和使用MySQL而不需要支付任何费用。MySQL服务器是一个快的、可靠的和易于使用的数据库服务器。

2.4.4 JDBC介绍

JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用,将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行。

JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口,而且JDBC 还扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中即使这些职员所用的计算机有 Windows、Macintosh 和UNIX 等各种不同的操作系统。

2.5 系统开发平台及运行环境

2.5.1 系统开发平台

系统的开发是在Tomcat环境下进行的。Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被Java World杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。

Tomcat的环境主要有以下几方面技术优势:

  • Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包

  • 在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压

  • Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理html页面

  • Tomcat也可以与其它一些软件集成起来实现更多的功能

2.5.2 运行环境

  • 操作系统:Windows 7

  • 服务器软件:Tomcat6.0

  • 浏览器:Internet Explorer6.0及以上版本

第3章 需求分析

本章主要进行系统需求分析,数据库需求分析和运用MySql软件为本系统建立必须的表。

3.1 系统需求分析

系统需求分析就是指在整个系统开发过程中解决“做什么”的问题,把要解决哪些问题,满足用户哪些具体的信息需求调查分析清楚。本网上商城系统的目的是鉴于互联网的优势以及对国内外相关现状的研究分析,我决定以基于Web的商城网站开发作为我的毕业设计主题。立足于设计一个在网络平台上运行的集购物、支付和配送等功能于一体的无店铺商城。

系统能实现用户的注册功能、登录功能、商品的查询,订购等功能。该系统基本上具备一个商品销售网站应该具备的功能,该设计项目基本上体现了构建一个动态商务网站所需要的技术。

本网站是小型的商品销售网站,消费者可以有目的性的快速找到你所期望的产品,可以直观的浏览商品的价格、内容、生产日期是否符合需要,为现在高效率的生活带来方便。

经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:

  • 用户管理:能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理

  • 管理员管理:能够完成管理员对网站的商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易(外理订单、发货查询)、会员管理(会员审查)、操作管理(管理员添加、管理员审查、管理员退出)的功能

  • 搜索功能:通过商品的名称,商品的分类进行搜索

  • 查询功能:能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定

3.2 数据库结构分析

数据库的结构分析在数据库开发前期的设计中占很重要的位置,一个好的系统,离不开一个层次清晰,功能完善的后台数据库结构。

首先在设计数据库时要分离各个实体和表,一个实体对应一个表;同时,要明确各实体间的关联,明确各实体的属性,以便确定它的字段。下面从实际需求的角度来说明本系统的数据库的结构设计。

  • 系统实体分析:系统的实体包括以下几个部分:消费者、商品、网站、其他

  • 实体产生的行为 :实体的行为包括消费者注册成为会员、会员登录、会员资料修改、会员购商品;商品类别、商品资料;网站资料、网站修改布局、网站新闻管理;会员区域管理、配送和支付方式、其他信息管理

在实体的行为中,有许多的数据关联性,如购买商品的记录中有商品信息,有会员的注册资料等等,这些行为的关联性,是我们在设计数据库结构中要注意的问题。

3.3 平台功能分析

网上购物系统平台主要包括四大功能模块,用户管理、网站布局、管理员管理、搜索等功能模块。其中用户管理模块,主要包括用户注册、用户修改、用户删除等功能;管理员管理主要包括商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易、会员管理、操作管理(管理员添加、管理员审查、管理员退出)等功能;搜索主要包括(商品名称、商品类别)。

网上购物系统平台总体模块,如图3.1所示。

3.4 数据库分析

3.4.1 ER图分析

建立各表间的关系,除有利于进行连接查询外,还可以大大简化数据库的操作,从而提高工作效率。同时,由于各表间的相互关系的存在,使各表间实施了完整性的原则,可以避免一些误操作。通过建立各表间的关系,就可以有效地管理各表的记录。

用户与管理员关系如图3.2所示。

管理员实体如图3.3所示。

出版单位资料实体如图3.4所示。

送货方式类型实体如图3.5所示。

商品小类实体如图3.6所示。

商品大类实体如图3.7所示。

3.4.2 数据库表分析

根据上面实体和产生的行为,从实际需要出发,同时又考虑各实体间的联系和统一性,设计出如下各表。

商品表主要是用于存储商品的基本信息,如商品的名称、商品的价格、商品的类型等,如表3.1所示。

字段名称 数据类型 说明
ID INTEGER 商品ID号(主键)
GOOD_NAME VARCHAR(45) 商品名称
GOOD_PRICE DOUBLE 商品价格
GOOD_TYPE VARCHAR(45) 类型
GOOD_PUBLISHTIME VARCHAR(45) 发布时间
GOOD_BUYCOUNT INTEGER 购买次数
GOOD_READCOUNT INTEGER 查询次数
GOOD_PUBLISHER VARCHAR(45) 发布者
GOOD_COMMENDED INTEGER 是否为推荐商品
GOOD_PRICESPE INTEGER 是否为特价商品
GOOD_DESC VARCHAR(200) 描述
GOOD_TOP INTEGER 是否为精品

商品类型表主要是用于保存商品的类型,如商品的ID、商品的类型名、以及商品的日期,如表3.2所示。

字段名称 数据类型 说明
ID INTEGER 商品类型ID
TYPE_NAME VARCHAR(45) 商品类型名
TYPE_TIME VARCHAR(45) 添加商品日期

订单表主要是用于保存用户的购物信息,如订单的ID、购买数量、商品的价格等,如表3.3所示。

字段名称 数据类型 说明
ID INTEGER 订单ID(主键)
GOOD_ID INTEGER 商品ID
GOOD_NUM INTEGER 该商品购买数量
GOOD_PRICE DOUBLE 商品价格
GOOD_PAYMENT DOUBLE 支付的金额
GUESTRNAME VARCHAR(45) 页数
GUEST_PROVINCE VARCHAR(45) 所在省份
PAY_Y INTEGER 是否付款
AUDITING INTEGER 是否审核
SELLED INTEGER 是否卖出
AUDITING_TIME VARCHAR(45) 审核时间
USER_ID INTEGER 用户的id
SHOP_TIME VARCHAR(45) 购物的时间
GOOD_NAME VARCHAR(45) 商品名称

用户表主要是用于保存普通用户和管理员的信息,如用户的ID、用户的名称、用户的密码、注册的时间等,如表3.4所示。

字段名称 数据类型 说明
ID INTEGER 用户ID(主键)
USER_NAME VARCHAR(45) 用户名称
USER_PSW VARCHAR(45) 用户密码
USER_TIME VARCHAR(45) 注册时间
USER_EMAIL VARCHAR(45) 邮箱
USER_LOGINCOUNT INTEGER 登陆次数
USER_LASTLOGINTIME VARCHAR(45) 最后登陆时间
USER_LEVER INTEGER 用户级别

第4章 商城前台设计与实现

网站的整个前台部分是供消费者浏览、选购的部分,一个好的网站的前台部分一定非常精美,非常有条理,因此,前台的设计主要把握3点:简明扼要、条理清晰、层次分明。下面将一一介绍我的网站系统的前台部分的实现。

4.1 通用文件设计

这里所说的通用文件是指在开发系统页面中,经常会使用到的文件。本系统包括了下面两个通用文件,分别是系统头文件和数据库连接文件。

4.1.1 系统头文件

系统的头文件被放置在整个网页的顶部,它的主要功能是导航。通过头文件的链接,可以很方便、快捷地进入其他页面。此外,由于它的位置突出,也放置一些重要的提示信息,如目前用户的状态,是否有未处理的订单等。头文件的设计尽量以简单、实用为主。

头文件由网站的logo、用户功能区、快速导航条、用户当前状态组成。

需要说明的是:当用户还没有登录时,在状态区中将显示请“登录”状态;如果用户已经注册登录了,在状态区中将显示该用户的会员名,并显示该会员的未处理订单的数目。

在用户状态区中,主要是通过response对象的cookies集合将用户登录时的数据信息,存储到内存变量中,根据这一变量信息来识别用户是否登录。

4.1.2 数据库连接文件

为了使每个网页都能方便的访问到数据库,要先建立一个数据库连接文件。此文件由DataConnect类实现。这是一个功能性文件,主要作用是连接服务器中的数据库,凡要调用数据库的地方,现在就可以直接引用它了。

4.2 首页设计

首页模块包括3个主要的部分,采用内嵌框架技术。首页中的系统头文件,现在只要用包含文件的方式调用就可以了。网站首页如图4.1所示。

下面介绍首页当中的其他两部分的设计。

首页正文部分的实现

首页的正文部分是网站的主干,它是首页的核心所在,本系统的正文部分有两个新商品展示区组成,新商品展示区主要是推荐新商品,可以单独用商品封面或纯文字的方式,也可以图文并茂的方式来推荐。一般按商品的类别分区推荐。先放置本类的重点商品,后推荐同类相关的商品。

设置商品展示时,首先通过在数据库中找有推荐标志的某种商品,将它的封面和商品相关信息以图文并茂的方式在同一行显示出来,做为重点推荐商品,然后,设置其他相关的商品信息链接。设计时商品的封面与商品名的设计,用循环语句来显示相关类别的商品。

首页中间部分

首页中间部分内嵌一个页面,将这个部分作为mainFrame,这个部分主要是帮助用户查询想要购买的商品,当会员没有注册时也可以查询商品,这是为了方便用户查看是否有要购买的商品,当用户查找到自己想要购买的商品时,当用户单击购买时系统将自动检测用户是否登录系统,如果没有登录系统将提示用户没有登录并弹出登录对画框,登录成功后方可购买商品。商品查询方式采用的是模糊查询如图4.2所示。

4.3 网站会员设计

会员是构成网站主体的一个重要组成部分,网站设置会员块的目的之一在于方便网站信息的管理,尤其是商务网站,获取了注册会员的资料信息,才能根据这些信息进行按单发货、资料统计、地区整理的工作。因此,将会员作为模块来划分是很有必要的。

所谓的会员模块,是指包含会员注册和各项操作在内的活动集合体。下面分析这流程中需要实现的个模块和实现的功能。

4.3.1 会员注册与登录

首先,是会员注册和资料的登记,这两个界面比较简单。在成为会员之前要进行注册。注册时,有注册条款的阅读,确定后进入简单的信息登记。在注册信息登记中,先判断用户名是否重复。并且对输入的E-mail的格式进行检查,输入不正确时,要重新输入。同时,系统会验证前后输入的密码是否一样。此外,对必须登记的项目,要填写,否则不能注册成功。显示的注册条约是在后台已经设置好的,打开数据库就可以读取了。接受用户提交的信息后,先根据用户名打开数据库中的会员信息表,查询该用户名是否已经存在。然后通过使用JavaScript脚本语言编写的check函数对输入的其他信息进行判断,根据不同的情况出现不同的提示,直至正确。最后,将提交的信息写入数据库。值得注意的是:通过一个变量,保存用户的注册时间段,可以限制用户在短时间内多次重复注册。这些功能的实现主要由注册文件reg.java完成。如图4.3所示。

其次,是登录界面,注册成功后的用户在下次进入时,需要进行登录,其主要功能就是识别是否是注册会员。会员登录主要由两个文件组成:一个是界面设计文件,一个是检测用户名文件。前者是设计页面,后者是纯数据查询功能文件。本系统中,他们分别为类logins.java和checkuser.java文件。

单击“登录”按钮后,先通过用JavaScript编写的函数checkuu()来检测是否输入了用户名和密码,如果没有输入,便锁定相应的文本框进行输入。确定输入完成以后,将输入表单中接受的信息,提交给文件控制层,由它查询该用户是否存在于数据库中的会员资料表中,如果存在便进入相应的界面,否则出现相应的提示。登录界面是由文件user.jsp实现的。

在将表单信息提交给文件checkusers.java处理时,先由函数checkuu()检测提交的信息是否完整。同时,控制字体“正在登录……”字样的显示,也是在该文件中通过visibility属性的设置来实现的。函数checkuu()的是用JavaScript脚本语言来编写的。通过函数checkuu()检测无误后,将表单提交的信息转给文件checkusers.java来处理,该文件根据获取的信息,在数据库会员信息表中查询获得的用户名,并作相应的处理。当用户登录成功后系统会记录本次登录的信息,包括登录时间,登录次数等等,如图4.4所示。

4.3.2 会员信息管理

上面讲述的都是有关注册和登录的实现过程,当会员登录完成后,就可以进行相关的操作,如进入“我的帐户登录”,查看相关的信息。在进入“我的帐户”前,系统会自动检测该用户是否登录。

该页是由过程login()实现的,把一些常用的界面,写成子过程,既方便其他页面调用,又利于以后的程序修改和维护,其过程实现的方法和前面讲述的系统登录时的方法一样,它也是将获得的表单信息提交给文件chkuser.java,由它检测用户名,确定是否登录。

当会员登录“我的帐户”后,便进入帐户主界面,该页面展示当前网站销售量和人气都是最好的十本商品,会员可以单击商品名查看商品详情,也可以直接点击“购买”图标,将商品放入购物车中。

“我的帐户”的主界面是由过程userziliao()完成的。这一过程的实现主要根据数据库中商品信息表的商品销量字段进行排序,同时,设置查看商品详细信息和购买商品的链接。

4.4 会员购物设计

在会员模块中,除可以查看和修改个人的资料信息,还可以购买网站中的产品。由于商业网站的主要业务是销售产品,因此将介绍的会员购物模块也是网上商城系统的关键部分,经过设计,会员在购买商品时包括以下几个模块。

  • 购物车模块:用于保存会员选购的商品

  • 收货人信息编辑模块:用于会员修改自己的收货资料、收货方式、支付方式的操作

  • 生成并显示订单模块:在会员确定购买后,生成订单,并将订单信息显示在页面中,如图4.5所示

4.4.1 购物车设计

会员登录后,在页面的任何一个地方,单击“购买”链接,就可以将对应的商品放入购物车,购物车的作用是暂时存放读者选中的商品,并显示相应的产品信息。

将选购商品放入购物车中,是由文件add_bk.java和文件show_cart.java共同完成的。前者是一个纯功能性文件,在会员单击“购买”链接时,获得该商品的ID号,并根据ID号查询商品的其他信息,一起保存到数组变量Session中。 当文件add_bk.java执行完将购物信息写入Session数组变量后,便转向由文件show_cart.java完成购买商品信息显示页面。在该文件中,调出保存商品信息的数组变量Session,并通过循环句While…Wend将保存信息中购买商品数不为零的信息,显示出来,同时设置修改数量、取消、收藏商品的链接等,如图4.6所示。

4.4.2 个人信息设计

当会员在购物车中确定好选购的商品品种和数量后,单击“去下订单”按钮时,便进入确定购物信息和个人信息的页面,如果会员在注册时,没有登记个人详细的收货信息,便进入个人信息的录入页面;如果录入完成或注册时就已经填写了详细的收货信息,则显示全部个人信息,并提供修改信息的链接。

在会员购物车中单击“购买”按钮后,将出现会员商品信息和个人信息确定页面,该页面用于显示会员购买商品的全部信息,包括商品信息、个人资料信息、送货方式、支付方式,这时还没有生成订单,用户还可以取消订单,也就是说,只要不单击“生成订单”按钮,就不会生成订单。

显示购买商品全部信息的界面是由文件orderedit.java实现的。为了更加合理地处理页面中各项数据的修改和更新,我们将各项功能模块分别写成不同的过程,保存在文件cartfunction.java中,并将该文件包含在orderedit.java文件中,当需要实现哪项功能时,只要调用该项功能的过程就可以了。

在调用各过程,实现各功能前,还要在文件orderedit.java中,编写JavaScript函数,用于响应列表框中选项改变和单击选项事件。

4.5 生成订单

当用户单击“生成订单”按钮后,将自动生成订单并显示出来。在生成的订单中,除了显示会员收货信息和购物商品信息外,还有会员购商品汇款时的网络帐号。

单击“生成订单”按钮后,则将表单的信息和Session数组变量保存的信息全部写入数据库,生成订单;并通过生成订单表和多表联合查询。共同显示整个生成的订单的全部信息。

4.5.1 查看生成订单

本系统中不仅在生成订单时,显示订单信息,而且还可以在“我的帐户”中查看历史订单,删除订单和修改订单的进程状态。会员在前台修改订单状态后,后台网站管理人员就可以查看到,同时,后台人员也可以修改订单的状态,并将状态信息反馈给会员,从而使整个订单的进程很透明,便于信息的交流。

当在“我的帐户”中的订单信息管理栏中单击某订单的“查看”链接后,便获取该订单的订单号,并将订单号提交给文件dingdang.java,由该文件获取订单号后查询相关信息,并将结果显示在页面中。

第5章 商城后台设计与实现

此章将介绍网上商城后台管理的设计,前台功能的实现都离不开后台各项数据的录入和设置。可以说整个系统的执行是从后台开始的如:要显示商品,需要从后台录入商品资料等等。整个后台系统流程如图5.1所示。

5.1 后台登录界面和主页面界面设计

为了确保后台数据的安全性,进入后台系统时,必须先登录,才能进入。此外,按用户名登录后台系统还可以识别管理人员的权限,从而依据权限进行相应的操作。

登录成功后,管理人员便进入后台系统的主要界面,该主页界面包括两部分:一是系统操作导航菜单,二是本系统的名字。下面分别介绍他们的实现方法。

5.1.1 登录界面的设计

此登录界面的设计方法很简单,和普通的登录界面一样,用于对操作人员登录时的身份验证。主要由两个文件组成。一是设计界面的文件,主要功能是接收用户输入的信息,如:姓名、密码。另外一个是实现登录功能的文件,主要作用是在数据库的相关表中查找用户名和密码信息,找到则进入后台主页,找不到则出现错误提示信息。

该界面是由JAVA文件实现的。在文件中,建立一个表单,供用户登录时输入用户名和密码,并将接受的信息转给JAVA文件来处理。

在提交信息之前,先通过函数lg_check()对输入表单的信息是否完整进行检测。函数lg_check()是用JavaScript脚本语言编写的。

在确认提交的信息完整后,表单将信息提交给文件chkadmin.JAVA,该文件接受表单信息后,根据用户名查询数据库中的记录,找到记录后,核对用户名是否与密码相符,如果无误则进入后台系统主页,否则出现错误信息提示。

5.1.2 后台主页的设计

在设计后台主页时,由于整个后台系统以管理信息为主,因此,在界面设计上尽量简洁,以方便操作为主。此系统的后台管理主页是由一个框架结构构成的,当用户单击导航菜单链接时,右边的框架中将显示相应的界面。

后台主页是由JAVA文件实现的。在文件中用框架结构的方式调用文件完成。在后台主页面的左边框架中,是文件menu.java实现的菜单导航页面,该文件中使用JavaScript脚本语言编写了2个函数,第一个是直接用于图象和文字的显示;第二个用于单击后,展开导航菜单,然后,再向函数中输入实参,实现主页左边部分的界面设计。

5.2 订单信息查看

会员在前台下订单购买商品,后台的管理人员通过查看订单信息才能给会员配货发商品。因此,查看商品订单信息是后台管理系统的一重要内容,它可以在第一时间查看到新增的购商品订单,并根据订单的内容,进行配商品;同时,还可以通过查看或修改会员订单进程状态,来反馈订单的进程。

后台订单处理流程图,如图5.2所示。

在订单信息查看页面,除可以分页浏览订单大致内容外,还可以单击订单号查看订单的详细内容,同时,还可以通过用户名来查询该用户的所有订单信息。

查看订单信息的功能是由文件editdingdan.java完成的。在该文件中,使用多表连接显示订单信息,用Select case语句查询不同进程状态的订单信息。通过在数据库的相关表中搜索用户名字段,实现按用户名查询订单信息的功能。

5.3 管理员模块

管理员是本系统的重要组成部分,普通会员登录后可以选择购买商品、查看购物车情况、查看购物明细,还可以修改购买商品的数量以及支付费用情况等操作而管理员登录系统后可以进行推荐商品、删除商品、设置商品级别、是不是特价商品等一系列操作如图5.3所示。

如果商城新进了一些商品管理员登录系统后可以对该商品进行添加操作,如图5.4所示。

5.4 类别资料管理

将商品分类,是录入商品前首先要做的一项工作。只有进行了很细致的分类,才能便于商品的录入与以后的商品管理。此系统将商品分为两类:大类和小类,其中大类中包括所有的小类,小类是大类的子类。

5.4.1 商品大类

商品大类将列出商品的整体类别范畴,然后,再由商品的大类,衍生出大类中的小类,从而完成商品的类别划分。在商品大类管理页面中,可以浏览所有的商品类别,并能增加新的大类,还可以对原有的类别进行修改和删除。同时,可以控制某一类别是否出现在前台的类别区。

商品大类管理界面是由文件anclass.java完成的,在文件中,先将大类界面分为两个部分,左边部分用于修改和删除已经有的大类名称和排序号。右边部分用于增加新的大类名称。两个部分设置两个表单,用于操作人员输入信息。

在商品大类管理界面中,单击页面左边部分的“修改”按钮,则向文件saveanclass.java提交表单信息,该文件接受信息后,根据接收的action值和信息的ID号,更新信息的内容。

在商品大类管理界面中,单击页面左边部分的“删除”按钮,则向文件saveanclass.java提交表单信息,该文件接受信息后,删除相应ID号的信息。

单击页面右边部分的“增加”按钮,则向文件saveanclass.java提交表单信息,该文件接受信息后,将信息写入数据库,完成增加大类的功能。

5.4.2 商品小类

在设置完商品大类后,接下来就是根据商品的大类来划分相应的小类。在设置商品小类页面中,可以根据商品大类增加小类,并对已经有的小类进行修改或者删除。同时,还可以实现某一小类在大类间的移动以及控制各小类间的排列顺序。

商品小类的管理的界面是由文件nclass.java实现的。在浏览或增加小类时,必须先选择小类所属于的大类,选择并进入某一大类后,页面的左边显示该大类的所有小类,并可以对它们修改或删除,在页面的右边可以增加该大类的小类。

在进入某大类商品的小类页面后,单击页面左边的小类“修改”按钮,在将表单信息提交处理前,先通过函数checkxl(),检测提交信息的完整性,该函数是使用JavaScript脚本语言编写的。在确定增加或修改的大类中的小类信息无误后,便将该表单的信息提交给文件savenclass.java,该文件接受提交的信息,打开数据库记录,增加或更新该小类信息。

单击页面左边的小类“删除”按钮,便将该表单的信息提交给文件savenclass.java,该文件接受提交的信息,根据提交的信息ID号,删除相关记录。

5.5 出版单位资料管理

任何商品,都有出版单位,我们在录入商品资料时,都要填写。为方便录入,先将出版单位的资料输入数据库中,在录入商品资料时,通过列表框,显示全部的出版社,只要进行选择就可以了。这样可以大大提高工作效率,并且保障数据间的完整性、统一性。

在出版单位资料管理页面中,分页显示所有已经增加的出版单位,并可以对它们进行修改或删除,同时,还可以新增出版单位和查询出版单位。

在实现的界面中,由查询、编辑、增加三部分组成,每部分都是在文件中设置表单,并将表单信息提交给文件自身,自身在接受提交来的信息后,先根据变量action的值,来判断是哪部分提交来的信息,然后,根据变量action的值,执行相应的语句。

出版单位资料管理流程图如图5.5所示。

在出版单位管理页面中,输入要查询的出版单位名称,单击“查询”按钮后,便通过设置的表单,将输入的查询字符和action的值,提交给文件本身,此时,文件本身接受到的action值是chekpubkey,根据这一值执行响应的程序功能。

无论是在出版单位管理页面,还是在查询结果页面中,单击“确认”按钮后,都会将出版单位的ID号和action的值通过表单提交给文件本身,文件根据ID号,打开相应的数据库记录,并用接收的值,更新原记录。

输入完要增加的出版单位信息后,单击“添加”按钮,先通过表单将要增加的信息提交给文件本身,然后,将信息写入数据库中。

在出版单位管理或查询结果页面中,单击“删除”链接,可以将选中的出版单位记录从数据库中删除,由于删除后不能恢复,因此,删除记录应谨慎。

5.6 商品资料管理

输入商品资料,是后台管理系统的一项日常的工作。所有在前台销售的商品资料,都是通过后台输入的,可见这一功能的重要性。考虑到它的重要性和录入时需要很多详细的信息,我们把商品资料管理分为三个部分:第一部分浏览商品资料,第二部分增加商品资料,第三部分修改原有的商品资料。

5.6.1 浏览商品资料

该页面以分页浏览的方式查看全部的商品资料信息,并可以查询某一种商品的详细资料信息。同时还可以对不需要的商品资料,选中后删除。商品管理流程图如图5.6所示。

浏览商品的功能是由文件managebook.java实现的。在文件中,先调出数据库中的shop_books表,分页显示;当查询某一商品时,通过向表单提交关键字信息和查询方式,然后,根据这两个条件在数据库表中找到相匹配的记录,调用显示内容过程showcontent显示出来;删除记录时,通过获取打勾选项的ID号来实现删除功能。

5.6.2 增加商品资料

增加商品资料,对于网上商城系统来说,是后台中用的最多的一项,因为每天都会有大量的商品资料录入数据库中,来丰富网站的产品。

在增加新的商品资料记录时,在列表框中选择已经分类的类别信息,用户只要选择大类,属于这一大类的小类就出现在小类栏中,这样既方便了录入数据库时的操作,又保证了数据的完整性、统一性。

实现商品大类和小类相互关联的主要思路是:先将全部的商品类别保留在一个数组中,然后,通过商品大类列表框选项的改变事件,获取大类ID号,根据ID号将数组中对应的小类ID号和名称赋值给小类列表框,从而实现大类改变,小类也相应变化的功能。

当录入新商品时,只要对出版单位进行选择,无须填写,可以提高工作效率,设置文本框,单击它时,出现下拉的列表框,显示全部的出版单位名称,选中选项后,下拉列表框自动隐藏。

文本框下面的列表框初始时是隐藏的,当单击文本框时,列表框才出现;选中选项后,将列表框的值赋值给文本框,同时列表框自动隐藏,控制是否隐藏是通过列表框的属性style的display的值来实现的。

5.6.3 修改商品资料

当商品录入完成,写入数据库后,还可以对它进行修改。对原有商品资料的修改,也是商品资料管理的一部分。通过对商品信息的修改,可以很方便地改变折扣、封面,避免了重新录入的麻烦,在浏览商品信息时,单击“商品名”便可以进入该商品的修改状态。其界面和增加商品的界面差不多。

5.7 网站人员的管理

为确保后台数据系统的安全,进入后台系统必须先登录才能进行操作。因此,首先要在数据库中增加人员记录并设置权限,操作人员依据用户名和密码进入后台系统,在自己的权限内进行操作。

需要说明的是:只有具备了管理权限的人员,才能添加、修改、删除网站内容,其他后台人员和不具备这项权限的操作人员,只能修改自己的密码。

网站人员管理是一个集增加、修改、删除为一体的综合管理模块。通过这一模块,管理人员完成对所有网站人员的管理。当然只有具备管理权限的人员才能进行这些操作。

填写用户名和密码设置权限后,单击“添加” 按钮,便将信息提交给文件savemin.java,它是来完成增加新人员的功能;单击“修改”链接,便获得该人员的ID号,在数据库中找到相应记录,显示在界面右边。修改完成后,单击“保存”按钮,还是将信息提交给文件saveadmin.java由它来完成修改操作。删除功能和修改实现方法一样。

第6章 系统测试

6.1 测试目的与目标

在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。
测试后的软件各模块基本功能能顺利进行,尽可能的提高软件的健壮性。

6.2 测试方法

系统的测试有两种方法分别为黑盒测试和白盒测试。

黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。

白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。

本系统开发过程进行的测试步骤如下:

模块测试:也叫单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现的往往是编码和详细设计的错误,主要评价模块的下述五个特点:模块接口,局部数据结构,重要的执行路径,出错处理通路,影响上述各方面特性的边界条件。模块测试主要由代码审查和软件测试两部分组成。

集成测试:包括系统测试和子系统测试。集成测试是组装软件的系统技术,主要目标是发现与接口有关的问题。集成测试有两种方法:非渐增式和渐增式,但比较而言,渐增式方法比较好,因为:编写的测试软件较少,开销较小;较早地发现模块间的接口错误;错误位置容易判断;测试更彻底。因此,本系统集成测试采用渐增式测试中的混合法,即对软件结构中较上层使用自顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法。

验收测试:这一步是验证软件的有效性。目的是向未来的用户表明系统能够象预定的那样工作,验收测试一般使用黑盒测试法,验收测试有两种可能的结果:功能和特性与用户的要求有差距;功能和性能与用户要求一致,软件是可以接受的。

这个阶段发现的问题往往和需求分析阶段的差距有关。平行运行。所谓平行运行就是同时运行。新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。目的有:可以在准生产环境中运行新系统而有不冒风险;用户能有一段熟悉新系统的时间;可以验证用户指南和使用手册之类的文档;能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。

6.3 测试用例

本系统采用黑盒测试,设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能。应该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据。本系统中应用了如下测试方案:基本用到逻辑覆盖;语句覆盖;判断覆盖;条件覆盖;判定/条件覆盖;条件组合覆盖;点边路径覆盖,由于功能模块较多,测试内容篇幅较长,所以在本论文中只介绍登入系统的测试用例,表6.1是本系统会员登入的测试表,从测试的结果来看与期望结果完全相同。

  • 功能特性:会员登录验证

  • 测试目的:验证是否输入合法的信息

  • 测试数据:会员ID:1111 密码:1111

测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 输入会员ID,按“登陆”按钮。 会员ID:1111, 密码为空 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误!” 与期望结果相同
2 输入密码,按“登陆”按钮。 会员ID为空,密码:1111 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误!” 与期望结果相同
3 输入会员ID和密码,按“登陆”按钮。 会员ID:1, 密 码:1 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误” 与期望结果相同
4 输入会员ID和密码,按“登陆”按钮。 用户名:1111,密 码:1111 正确登入到会员操作界面 正确登入到会员操作界面 与期望结果相同

6.4 测试结论

把开始的代码写得越好,它出现的错误也就越少,你也就越能相信所做过的测试是彻底的。系统化测试以一种有序方式设法探测潜在的麻烦位置。同样,毛病最可能出现在边界,这可以通过手工的或者程序的方式检查。自动进行测试是最理想的,用得越多越好,因为机器不会犯错误、不会疲劳、不会用臆想某此实际无法工作的东西能行来欺骗自己。回归测试检查一个程序是否能产生与它们过去相同的输出。在做了小改变之后就测试是一种好技术,能帮助我们将出现问题的范围局部化,因为新问题一般就出现在新代码里面。

测试和排错常常被说成是一个阶段,实际上它们根本不是同一件事。简单地说,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,排错是在你已经知道程序有问题时要做的事情。而测试则是在你在认为程序能工作的情况下,为设法打败它而进行的一整套确定的系统化的试验。

Edsger Dijkstra有一个非常有名的说法:测试能够说明程序中有错误,但却不能说明其中没有错误。他的希望是,程序可以通过某种构造过程正确地做出来,这样就不再会有错误了,因此测试也就不必要了。这确实是个美好生活的目标,但是,对今天的实际程序而言,这仍然还只是一个理想。所以应该集中精力讨论如何测试,如何才能够更快地发现程序错误,如何才可以使得工作更有成效、效率更高。

参考文献

[1] 孙晓龙,赵莉.JSP动态网站技术入门与提高.北京:人民邮电出版社,2001

[2] 石志国,薛为民,董洁.JSP应用教程.北京:清华大学出版社.北京交通大学出版社,2004

[3] 李曙光.JSP开发实例完全剖析.北京:中国电力出版社,2006

[4] 杨易.JSP高级程序设计.人民邮电出版社,2006

[5] Vivek Chopra.JSP高级程序设计,机械工业出版社,2001

[6] 申吉红,廖学峰,余健.JSP课程设计案例精编.北京:清华大学出版社,2007

[7] 卢潇.软件工程.北京:清华大学出版社;北京交通大学出版社,2005

[8] 萨师煊,王姗.数据库系统概论.北京:高等教育出版社,2000

[9] 马运涛.Eclipse精要与高级开发技术.北京:电子工业出版社,2003

[10] PaulJPerrone etal,张志伟,谭郁松,张明杰.J2EE构建企业系统[M] .北京:清华大学出版社,2001

[11] Chuck Cavaness.Programming Jakarta Struts,2002

[12] Bruce Shive.Research Direction in Object-Oriented Programming,2002

[13] Miao H.K.McDermid J.A.andTony Ian,Proving the existence of the initial state in Z specification,Chinese Journal of Advanced Software Research,2003

[14] Apache Software.The Struts User’s Guide.http://Jakarta.Apache.org/struts.

[15] Breitbart Y,Garofalakis M,Martin C,etal.Topology discovery in heterogeneous IP networks[M].Proc of INFOCOM 2000,Telaviv Isreal,2005

上传的附件 cloud_download 基于JAVA实现的网上商城系统.zip ( 1.19mb, 156次下载 )
error_outline 下载需要11点积分

keyboard_arrow_left上一篇 : 基于JAVA和SQL SERVER数据库实现的个人财务管理系统 基于JSP和MySQL的酒店管理系统 : 下一篇keyboard_arrow_right



Daniel
2020-11-03 22:27:54
厉害
南允
2020-11-04 19:03:16
真棒
WSEDFS
2020-11-04 20:53:45
包含源码吗?
应钟
2020-11-05 14:00:35
文档爱了
卡退了取消
2020-12-08 08:22:17
真棒
OpenThread
2020-12-08 23:23:16
怎么下载
OpenThread
2020-12-08 23:51:57
这特么代码台坑了,根本不全
zx
2020-12-28 00:13:47
积分不足怎么办😰
13685844099
2020-12-30 20:02:59
不全!!!没有数据库文件
eliauk
2021-04-26 20:05:51
厉害了
哈哈静
2021-05-09 15:50:32
代码根本不全
渐无书
2021-06-01 00:42:04
厉害大佬

发送私信

26
文章数
1
评论数
最近文章
eject