jsp网上购书系统设计(源代码+论文)

目 录
摘 要    I
Abstract    II
目 录    III
引 言    1
第1章  概述    2
1.1  电子商务概述    2
1.1.1  关于电子商务    2
1.1.2  电子商产生的背景条件    3
1.1.3  电子商务功能    4
1.1.4  电子商务应用特征    5
1.1.5  电子商务的发展趋势    8
1.1.6  电子商务的发展对社会的影响    10
1.1.7  研究现状分析    10
1.1.8  选题依据及研究意义    11
1.2  web基础知识    11
1.2.1  web概述    11
1.2.2  HTTP协议    13
1.2.3  URL剖析    14
1.2.4  浏览器/服务器(b/s)模型    15
第2章   搭建网站的准备工作    17
2.1  JSP 简介    17
2.2  deamweaver简介    17
2.3  安装MSSQL 2000    18
2.3  JDK配置    19
2.4  tomcat配置    20
第3章   网上购书系统    22
3.1  本站基本功能如下    22
3.1.1  首页(index.jsp)    22
3.1.2  后台管理部份    23
3.2  数据库设计    23
3.3  会员管理模块    25
3.3.1  会员注册协议核准    26
3.3.2  会员注册信息填写    26
3.3.3  会员注册信息确认    28
3.3.4  会员注册信息查看    28
3.3.5  会员登陆    29
3.3.6  用户使用    31
结 论    34
参考文献    35
谢 辞    36
3412 
引 言
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
本设计中数据库服务器端采用了Microsoft SQL数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。
整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规则采掘系统和利用tomcat+jsp技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表,页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。
本设计主要完成Web服务器端的用户管理、图书目录管理、图书信息录入管理、书店定单管理、图书的浏览和查找、书店购物结帐功能模块的设计、实现与完善以及整个实验网站的组织建立和测试工作。
 
第1章  概述
1.1  电子商务概述
1.1.1  关于电子商务
1.  电子商务的含义
电子商务,顾名思义是指在Internet网上进行商务活动。其主要功能包括网上的广告、订货、付款、客户服务和货物递交等销售、售前和售后服务,以及市场调查分析、财务核计及生产安排等多项利用Internet开发的商业活动。
电子商务的一个重要技术特征是利用Web的技术来传输和处理商业信息。因此有人称:电子商务=Web+IT。
电子商务有广义和狭义之分。狭义的电子商务也称作电子交易(e-commerce),主要是指利用Web提供的通信手段在网上进行的交易。而广义的电子商务包括电子交易在内的利用Web进行的全部商业活动,如市场分析、客户联系、物资调配等等,亦称作电子商业(e-business)。这些商务活动可以发生于公司内部、公司之间及公司与客户之间。
2.  电子商务的网络计算环境
目前,已有三种不同但又相互密切关联的网络计算模式:因特网(Internet)企业内部网(Intranet)和企业外部网(Extranet)。对绝大多数人来说,首先入的是因特网。企业为了在Web时代具有竞争力,必须利用因特网的技术和协议,建立主要用于企业内部管理和通信的应用网络,这就是企业内部网(Intranet)。而各个企业之间遵循同样的协议和标准,建立非常密切的交换信息和数据的联系,从而大大提高社会协同生产的能力和水平,就是企业外部网(Extranet)。这三种计算模式在电子商务中各有各的用途。
电子商务不仅仅是买卖,也不仅仅是软硬件的信息,而是在Internet、企业内部网(Intranet)和企业外部网(Extranet),将买家与家、厂商和合作伙伴紧密结合在了一起,因而消除了时间与空间带来的障碍。
3.  电子商务建立了新型的商务通信的通道
商务通信是开展商务活动的重要条件。传统的商务通信是通过邮件、报纸等印刷物或通过电台、电视台等广播方式来传递信息。
电子商务采用基于开放式标准上的Internet这一崭新的通信通道,与以往的通信相比发生了巨大的变化,主要表现在:
Internet的交互性使单向的通信变成了双向的通信。
扩大了通道的功能,不仅能传递信息,还能用于支付、传递服务。
提供了廉价的通信手段,与报纸、电台、电视台甚至直邮相比,Internet的通信费用最低廉。
4.  电子商务的优越性
电子商务提供企业虚拟的全球性贸易环境,大大提高了商务活动的水平和服务质量。新型的商务通信通道其优越性是显而易见的,其优点包括:
大大提高了通信速度,尤其是国际范围内的通信速度。节省了潜在开支,如电子邮件节省了通信邮费,而电子数据交换则大大节省了管理和人员环节的开销。增加了客户和供货方的联系。如电子商务系统网络站点使得客户和供货方均能了解对方的最新数据,而电子数据交换(EDI)则意味着企业间的合作得到了加强。提高了服务质量,能以一种快捷方便的方式提供企业及其产品的信息及客户所需的服务。提供了交互式的销售渠道。使商家能及时得到市场反馈,改进本身的工作。提供全天候的服务,即365天,每天24小时的服务。最重要的一点是,电子商务增强了企业的竞争力。
1.1.2  电子商产生的背景条件
1.  电子商务的起源
事实上,电子商务并非是一种刚诞生的事物。早在本世纪70年代,电子数据交换(EDI)和电子资金传送(EFT)作为企业间电子商务应用的系统雏形,已经出现。多年来,大量的银行、航空公司、连锁店及制造业单位已建立了供方和客户间的电子通信和处理关系。这种方式加快了供方处理速度,有助于实现最优化管理,使得操作更有效率,并提高了对客户服务的质量。
但早期的解决方式都是建立在大量功能单一的专用软硬件设施的基础上,因此使用价格极为昂贵,仅大型企业才会利用。此外,早期网络技术的局限也限制了应用范围的扩大和水平的提高。
2.  Internet的发展为电子商务的发展奠定了基础
随着Internet的高速发展,电子商务的旺盛生命力日益显露,眼下,Internet已有5000万个用户,并以每季度8%的速度递增,约有500万台主机连在Internet上。
Internet的强劲发展和网络应用在全球范围内的普及,为电子商务的发展奠定了良好的基础。根据统计,在网上银行作一次资金交割,其成本只有柜台交割的13%。
Internet的发展在环境、技术和经济上都为电子商务创造了条件,电子商务作为Internet的一项最为重要的应用系统已呈现在我们眼前了。
1.1.3  电子商务功能
电子商务可提供网上交易和管理等全过程的服务,因此它具有广告宣传咨询洽谈、网上订购、网上支付、电子帐户、服务传递、意见征询、交易管理等各项功能。
1.  广告宣传
电子商务可凭借企业的Web服务器和客户的浏览,在Internet上发播各类商业信息。客户可借助网上的检索工具(Search)迅速地找到所需商品信息,而商家可利用网上主页(Home Page)和电子邮件(E-mail)在全球范围内作广告宣传。与以往的各类广告相比,网上的广告成本最为低廉,而给顾客的信息量却最为丰富。
2.  咨询洽谈
电子商务可借助非实时的电子邮件(E-mail),新闻组(News Group)和实时的讨论组(chat)来了解市场和商品信息、洽谈交易事务,如有进一步的需求,还可用网上的白板会议(Whiteboard Conference)来交流即时的图形信息。网上的咨询和洽谈能超越人们面对面洽谈的限制、提供多种方便的异地交谈形式。
3.  网上订购
电子商务可借助Web中的邮件交互传送网上的订购。网上的订购通常都是在产品介绍的页面上提供十分友好的订购提示信息和订购交互格式框。当客户填完订购单后,通常系统会回复确认信息单来保证订购信息的收悉。订购信息也可采用加密的方式使客户和商 家的商业信息不会泄漏。
4.  网上支付
电子商务要成为一个完整的过程。网上支付是重要的环节。客户和商家之间可采用信用卡帐号实施支付。 在网上直接采用电子支付手段将可省略交易中很多人员的开销。网上支付将需要更国可靠的信息传输安全性控制以防止欺骗、窃听、冒用等非法行为。
5.  电子帐户
  网上的支付必需要有电子金融来支持,即银行或信用卡公司及保险公司等金融单位要为金融服务提供网上操作的服务。而电子帐户管理是其基本的组成部分。
信用卡号或银行帐号都是电子帐户的一种标志。而其可信度需配以必要技术措施来保证。如数字凭证、数字签名、加密等手段的应用提供了电子帐户操作的安全性。
6.  服务传递
  对于已付了款的客户应将其订购的货物尽快地传递到他们的手中。而有些货物在本地,有些货物在异地,电子邮件将能在网络中进行物流的调配。而最适合在网上直接传递的货物是信息产品。如软件、电子读物、信息服务等。它能直接从电子仓库中将货物发到用户端。
7.  意见征询
  电子商务能十分方便地采用网页上的表单来收集用户对销售服务的反馈意见。这样使企业的市场运营能形成一个封闭的回路。客户的反馈意见不仅能提高售后服务的水平,更使企业获得改进产品、发现市场的商业机会。
8.  交易管理
整个交易的管理将涉及到人、财、物多个方面,企业和企业、企业和客户及企业内部等各方面的协调和管理。因此,交易管理是涉及商务活动全过程的管理。
 电子商务的发展,将会提供一个良好的交易管理的网络环境及多种多样的应用服务系统。这样,能保障电子商务获得更广泛的应用。
1.1.4  电子商务应用特征
电子商务的特性可归结为以下几点:商务性、服务性、集成性、可扩展性、安全性、协调性。
1.  商务性
电子商务最基本的特性为商务性,即提供买、卖交易的服务、手段和机会。
网上购物提供一种客户所需要的方便途径。因而,电子商务对任何规模的企业而言,都是一种机遇。
就商务性而言,电子商务可以扩展市场,增加客户数量;通过将万维网信息连至数据库,企业能记录下每次访问、销售、购买形式和购货动态以及客户对产品的偏爱,这样企业方就可以通过统计这些数据来获知客户最想购买的产品是什么。
电子商务作为一种新型交易方式在许多地方取得成功。例如美国一家服务公(SpeedServe.Inc.)创建了整套电子商务方案,建立了一家网上商店。由于节省了租用店面、雇用商场售货员等开支,使其能以低廉的价格出售数以百万计的书本、游戏和光。无疑这家公司获得了巨大的成功。
2.  服务性
在电子商务环境中,客户不再受地域的限制,象以往那样,忠实地只做某家邻近商店的老主顾,他们也不再仅仅将目光集中在最低价格上。因而,服务质量在某种意义上成为商务活动的关键。技术创新带来新的结果,万维网应用使得企业能自动处理商务过程,并不再象以往那样强调公司内部的分工。现在在Internet上许多企业都能为客户提供完整服务,而万维网在这种服务的提高中充当了催化剂的角色。
企业通过将客户服务过程移至万维网,使客户能以一种比过去简捷的方式完成过去他们较为费事才能获得的服务。如将资金从一个存款户头移至一个支票户头,查看一张信用卡的收支,记录发货请示,乃至搜寻并购买稀有产品,这些都可以足不出户而实时完成。
显而易见,电子商务提供的客户服务具有一个明显的特性:方便。这不仅对客户来说如此,对于企业而言,同样也能受益。我们不妨来看这样一个例子。比利时的塞拉银行,通过电子商务,使得客户能全天候地存取资金帐户,快速地阅览诸如押金利率、贷款过程等信息,这使得服务质量大为提高。
3.  集成性
电子商务是一种新兴产物,其中用到了大量新技术,但并不是说新技术的出现就必须导致老设备的死亡。万维网的真实商业价值在于协调新老技术,使用户能更加行之有效地利用他们已有的资源和技术,更加有效地完成他们的任务。
电子商务的集成性,还在于事务处理的整体性和统一性,它能规范事务处理的工作流程,将人工操作和电子信息处理集成为一个不可分割的整体。这样不仅能提高人力和物力的利用,也提高了系统运行的严密性。
为了帮助企业分析、规则其电子商务发展战略,指导设计和建立应用,更好地集成新旧资源,充分地利用已有资源,IBM建立了一种可伸缩型的网络计算模型NCF。这种模型是开放的,并且是在现实产品和丰富的开发经验的基础上提出的。NCF的概念、原理将在本书第七章做详尽的描述。
4.  可扩展性
 要使电子商务正常运行,必须确保其可扩展性。万维网上有数以百万计的用户,而传输过程中,时不时地会出现高峰状况。倘若一家企业原来设计每天可受理40万人次访问,而事实上却有80万, 就必须尽快配有一台扩展的服务器, 否则客户访问速度将急剧下降,甚至还会拒绝数千次可能带来丰厚利润的客户的来访。
对于电子商务来说,可扩展的系统才是稳定的系统。如果在出现高峰状况时能及时扩展,就可使得系统阻塞的可能性大为下降。电子商务中,耗时仅2分钟的重新启也可能导致大量客户流失,因而可扩展性可谓极其重要。
1998年日本长野冬奥会的官方万维网结点的使用率是有史以来基于Internet应用中最高的,在短短的16天中,该结点就接受了将近六亿五千万次访问。
全球体育迷将数以百万计的信息直接通过体育迷电子邮件结点发给运动员,而与此同时,还成交了600多万笔交易。这些惊人的数字说明,随着技术的日新月异,电子商务的可扩展性将不会成为瓶颈所在。
5.  安全性
 对于客户而言,无论网上的物品如何具有吸引力,如果他们对交易安全性缺乏把握,他们根本就不敢在网上进行买卖。企业和企业间的交易更是如此。
在电子商务中,安全性是必须考虑的核心问题。欺骗、窃听、病毒和非法入侵都在威胁着电子商务,因此要求网络能提供一种端到端的安全解决方案,包括加密机制、签名机制、分布式安全管理、存取控制、防火墙、安全万维网服务器、防病毒保护等。为了帮助企业创建和实现这些方案,国际上多家公司联合开展了安全电子交易的技术标准和方案研究,并发表了SET(安全电子交易)和SSL(安全套接层)等协议标准,使企业能建立一种安全的电子商务环境。
6.  协调性
商务活动是一种协调过程,它需要雇员和客户,生产方、供货方以及商务伙伴间的协调。
为提高效率,许多组织都提供了交互式的协议,电子商务活动可以在这些协议的基础上进行。
传统的电子商务解决方案能加强公司内部相互作用,电子邮件就是其中一种。但那只是协调员工合作的一小部分功能。利用万维网将供货方连接至管理系统,再连接到客户订单处理,并通过一个供贷渠道加以处理,这样公司就节省了时间,消除了纸张文件带来的麻烦并提高了效率。
电子商务是迅捷简便的、具有友好界面的用户信息反馈工具,决策者们能够通过它获得高价值的商业情报、辨别隐藏的商业关系和把握未来的趋势。因而,他们可以作出更有创造性、更具战略性的决策
1.1.5  电子商务的发展趋势
估计到2000年,全世界将拥有4亿~8亿个因特网用户,1亿多台计算机将互联,可以交换数据的网络会超过100万个。到那时,人们使用因特网的时间,将超过使用电话的时间,在网络上的交易次数将达到10万亿次/年。
不仅仅Internet和万维网(WWW),企业内部网(Intranet)和企业外部(Extranet)近年来都保持着强劲的发展势头,电子数据交换(EDI)和X.400信息
流也借助Internet的发展而得到了较大程度的发展,它们都促进了电子商务的迅速发展。据Master Card预测,该公司到2000年电子商务的交易总额将达到100亿美元,且连续几年中在成倍地递增。目前,电子商务呈现了面向整体解决方案的发展趋势。其特点为:
可将不同类型用户工作站及操作系统的多平台结构统一为单一结构的万维网浏览器。
用Java开发新业务,扩大跨平台的系统应用。使工作站的工作轻量化(thin client),而服务器则执行重要交易及存放重要数据[6]。各相关系统间的通信互相直辖市,统一使用TCP/IP和HTTP协议。从而减少通信复杂度。显然,基于上述整体解决方案的电子商务比起多种独成体再交互连接的层次复杂的客户/服务器结构有更为优良的系统性能和应用效果。
电子商务还呈现出向中小用户的发展趋势。在过去,IT的先进技术较容易在大企业获得推广应用。而电子商务则不同,它不仅易被大企业接受,同时也十分适合中小企业开拓市场发展业务的需要,因此,很快将在规模一不同的企业,包括小企业中推广。
现在,越来越多的人们开始注意到电子商务中存在的“重电子、轻商务”的倾向。其实,电子商务最重要的是“商务”,而网站只不过是电子商务的后台支撑。另一方面,网上购物完全取代了电子商务的概念。事实上,它仅仅是电子商务的一小部分,而完整的电子商务过程则是一切利用现代信息技术的商业活动的电子化过程。 
在中国,电子商务未来将呈现如下发展趋势: 
(1) 电子商务的深度将进一步拓展。目前受限于技术创新和应用水平,企业发展电子商务仍处于起步阶段。随着这两方面水平的提高以及其它相关技术的发展,电子商务将向纵深挺进,新一代的电子商务将浮出水面,取代目前简单地依托“网站+电子邮件"的方式。电子商务企业将从网上商店和门户的初级形态,过渡到将企业的核心业务流程、客户关系管理等都延伸到Internet上,使产品和服务更贴近用户需求。互动、实时成为企业信息交流的共同特点,网络成为企业资源计划、客户关系管理及供应链管理的中枢神经。企业将创建、形成新的价值链,把新老上下游利益相关者联合起来,形成更高效的战略联盟,共同谋求更大的利益。 
(2) 中国电子商务将面临严峻挑战。电子商务是国际贸易发展的必然趋势,随着国际电子商务环境的规范和完善,中国电子商务企业必然走向世界,这也是进一步扩大对外经贸合作和适应经济全球化、提升中国企业国际竞争力的需要。而随着中国加入WTO,国外的电子商务企业也将渗透到国内,对中国电子商务构成严峻挑战。 
(3) 电子商务网站将会出现兼并热潮。首先是同类兼并。目前中国为数不少的网站属于重复建设之列,定位相同或相近,业务内容趋同。由于资源有限,并且在Internet“赢家通吃” 原则下,最终胜出的只是名列前茅的网站;其次是互补性兼并。那些处于领先地位的电子商务企业在资源、品牌、客户规模等诸方面具有很大的优势,但与国外著名电子商务企业相比还有很大差距。这些具备良好基础和发展前景的网站要发展,必然采取互补性收购策略,结成战略联盟。由于个性化、专业化是电子商务发展的两大趋势,而且每个网站在资源方面总是有限的,客户的需求又是全方位的,所以不同类型的网站以战略联盟的形式进行相互协作将成为必然趋势。 
(4) 行业电子商务将成为下一代电子商务发展主流。中国电子商务进入迅猛发展时期的典型特征是风险资金、网站定位等将从以往的“大而全”模式转向专业细分的行业商务门户。第一代的电子商务专注于内容,第二代专注于综合性电子商务,而下一代的行业电子商务将增值内容和商务平台紧密集成,充分发挥 Internet在信息服务方面的优势,使电子商务真正进入实用阶段。 
(5) 电子商务将催生新行当eASP——电子商务应用服务商。电子商务是将来的主要商务交易模式,但对于国内为数众多的中小型企业来说,将面临如建设投入大、运营成本高、见效周期长、效果不理想、缺乏标准化的应用系统、软硬件需不断升级等一系列难题。有了eASP,中小企业可以把上述问题转给他们解决,只专注于做好自己的产品和服务便可。3月中旬,北京网路科技有限公司宣布推出面向中国商业用户的电子商务服务方案——电子商务直通车;3月20日下午,作为IBM公司在国内支持的第一家基于AS/400服务器平台的eASP,万维商通科技有限公司向业界进行了eASP商业模式发布暨eASP网站的发布。我国eASP的序幕已经拉开。 
1.1.6  电子商务的发展对社会的影响
电子商务的发展究竟会给整个社会带来何种影响呢?电子商务将改变商务活动的方式。过去一提到商务,人们不是联想到在一家商场中精疲力尽地搜索自己所需的商品,就是联想到在谈判桌前,买卖双方 唇枪舌剑地谈判,而如今通过万维网就可以看见店面前台,人们不仅能身临其境地浏览各类产品,而且还能获得在线服务;不仅能够购买物理类产品,如汽车、电视机和录机,也能购买数字类产品,如信息、录像、录音、数据库、软件及各类知识产品。此外还能获得各类服务,如安排旅游行程、网上医疗论断和远程教育。电子商务还将改变企业经营的方式。一家企业在网上开设了万维网商店,于是,它便发现世界就在它的面前:客户将在网上与供货方联系,利用网络进行会计结算和支付服务;企业可以方便地与政府部门以及竞争对手发生联系。这种网上联系,将企业经营的方式在各个角度作了改变。
此外,电子商务还改变了人们消费的方式。网上购物是足不出门,看遍世界,网上的搜索功能可方便地带顾客货比多家,同时消费者将能以一种十分轻松自由的自我服务的方式来完成交易,从而,使用户对服务的满意程度大为提高。
总而言之,作为一种商务活动过程,电子商务将带来一场史无前例的革命。而其影响将远远超出商务的本身,它将会对社会的生产和管理、人们的生活和就业、政府职能、法律制度以及教育文化都会带来巨大的影响。电子商务将人类真正带入信息社会。
1.1.7  研究现状分析
随着计算机技术和网络技术的不断发展,电子商务受到越来越多企业、公司的重视。电子商务是Internet爆炸式发展的直接产物,是网络技术应用的全新发展方向。网上商店作为电子商务的一种基本模式,也成为了一种新的营销方式。专家预测,网上零售业从1997年的18亿美元迅速膨胀到2002年的260亿美元[1]。许多先进企业都在自己的Internet网站中建立了企业自己的网上商店,直接向网络客户销售产品和服务。JSP平台是由SUN公司推出的新型平台。JSP平台结合了许多技术,并形成了一个单一的统一标准,可以根据需要来构建应用系统。其采用的三层结构体系、分布式环境、面向对象的模块化组件设计技术可以使企业快速、高效的部署自己的应用程序。目前商业上已经有不少采用JSP平台的成功例子。国内对于JSP的应用广泛[6]。
1.1.8  选题依据及研究意义
网上书店是电子商务的典型应用。 JSP是构建电子商务系统的新兴技术,采用JSP技术,可以方便地将系统分离为三层:表示层、业务层及数据库层。表示层向客户的浏览器提供基于Web的显示页面;业务层处理客户购书过程;数据层则提供数据存储。采用这种层次结构可以提高系统的扩展性和服务器的效率,方便开发。
本文针对目前网上书店所面临的问题,采用JSP技术,设计开发了一个网上购书系统系统具有高可靠性、可扩展性和可重用性的特点。系统中采用多种设计模式来提高系统性能:采用前台控制器来方便地实现导航;采用复合视图来向用户提供Web显示,减少了视图中代码的重复;采用业务代表降低各层之间的耦合;并在业务层中采用值对象来向表示层提供数据。系统使用了JSP中的多种技术,如JSP、Javascript、VBscript、HTML CSS等。系统以微软数据库管理系统MSSQL作为后台数据库。
1.2  web基础知识
1.2.1  web概述
World Wide Web(万维网,简称Web)提供了一个可以轻松驾御的图形化用户界面,以查阅Internet上的文档,这些文档以及它们之间的连接一起构成了一个庞大的信息网。
Web允许通过超链接从一个网页跳到其他网页。网页可以包含文字、图象、动画、声音、3D世界以及其它任何信息,而且能存放在全球任何地方的计算机内。一旦与Web连接,您就可以使用相同的方式访问全球任何地方的信息。
Web正在逐步改变人们的通信方式。这种新的大众传媒比以往的任何一种通信媒体都要快,因而受到人们的普遍欢迎。在过去的几年中,Web飞速增长,容入了大量的信息,从商品报价到就业机会;从学术交流到娱乐新闻……。人们常常谈论Web“冲浪”,“冲浪”意味着在Web上沿超链接转到那些您从未到过的网页和专题。
对Internet新用户来说,Internet似乎就是Web。实际上,Web和Internet还是有区别的。Web只是Internet提供的服务之一,其它服务如Ftp 、News、 Gopher都出现的比 Web早而且现在一直存在。但Web第一次把图像、动画、声音、视频等多媒体信息引入Internet,使用户不用整天面对枯燥的文本,从而把普通大众吸引到Internet上来,使得Internet不再是计算机专家的天下。
您可以把Web视为Internet上的一个大型图书馆,Web站点就像图书馆中的一本本书,而Web页则是书中的某一页。很多个Web页合在一起便组成了一个Web节点。可以从一个特定的Web站点开始您的环球之旅。
传统的网络应用的体系结构被称为C/S结构(也称为两层结构),这种结构应用系统完全在客户机上,而数据库在另一处的服务器上,虽然这种方法可以使我们共享整个企业的数据,但它却存在许多缺点[4]。
在两层结构应用中,处理的负载全部由客户机承担,而功能相对较强的服务器却只作为应用和数据库之间的通信控制器。其结果是,不仅应用的性能由于客户机的资源而受到影响,而且网络的流量也大为增加。当整个应用对放在客户机上处理时,应用在向用户展示任何结果之前,都不得不多次提出数据请求。这些对数据库的多次请求可能大大地加重网络的通信负担。
另一个问题是维护问题。即使对应用只做稍微的修改,也会涉及用户库的整个转出。经几次转出之后,用户库可能变得很难管理,搞不清哪些版本在什么地方。有些用户可能还没有准备好全部转出,所以当别人坚持立即进行修改时他们只好先不进行修改,结果造成会有多个不同版本的软件需要同时维护。
为了解决这些问题,软件界提出了三层体系结构的概念。把应用分解为三个不同的逻辑层次,各有一套定义好的接口。第一层是表示层,典型情况下由某种图形用户接口组成。中间层由应用逻辑组成。第三层是应用所需的数据。
中间层(应用逻辑层)基本上是由用户通过表示层调用的代码,目的是用来检索所要的数据。当表示层接收到这些数据后,便将其进行格式化,显示出来。把应用逻辑与用户接口分开,大大地提高了设计应用的灵活性。这样无需个性应用逻辑便可以建立和使用多种应用接口,只要应用逻辑层给表示层提供定义明晰的接口就行[4]。
第三层是应用所需要的数据。这些数据可以由任何信息源组成。应用所需的数据不限于仅仅是关系数据库,也可以许多不同的企业级数据源。
WEB应用在典型情况下遵循三层结构。第一层即表示层,在WEB应用中它不仅包括WEB浏览器,而包括WEB服务器。其责任是把数据组装成可表示的格式。第二层是应用层。它通常由某种程序或一些组件组成。第三层向第二层提供所要的数据。典型的WEB应用是首由集用户提供的数据(第一层),然后把数据发送给WEB服务器,运行所要的服务程序(第二、三层),把准备在WEB浏览器中表示的数据打包,然后将打包的数据送回到浏览器进行显示(第一层)。
服务器端WEB程序、组件和其它程序一样,只是有几点重要的区别。
(1)程序应该能被WEB服务器调用。当用户由浏览器发出请求时,WEB服务器必须能找到并执行所请求的程序。
(2)必须有能让WEB服务器把表单数据传递给程序的途径。当WEB服务器调用程序时,它需要传递HTTP请求中的数据的途径。
(3)调用程序时,必须有标准入口。
(4)当程序处理完输入数据时,它必须把结果进行包装,并把包装好的结果返回给WEB服务器,然后由WEB服务器把结果返回给浏览器。 
在几年前,只有CGI(公共网关接口)是能够把动态数据带到WEB上的唯一实际解决方法。而如今,WEB技术的发展已远远超过了最初了预料。作为一种全新的计算模式,B/S向我们展现了它的巨大魅力:快速的程序发布,更新,方便的界面调整;程序更易维护。B/S现在已开始逐步取代传统的C/S方式,成为应用开发的主流。    
正是如此巨大的需求促进了WEB开发技术的飞速进步。从JavaScript到Java Applet到flash,从html到dhtml到xml,从cgi到php到jsp/.net,WEB开发技术已远非当年的吴下阿蒙了。如今的WEB开发无论是前台界面的表现形式与技术,还是后台数据的计算、管理和维护都已发生了深刻的变化。这些现代WEB技术为网站或应用开发提供了强有力的支持,他们正向着现代软件技术所倡导的组件化、框架化稳步迈进。
1.2.2  HTTP协议
HTTP(Hypertext Transfer Protocol)协议即超文本传输协议从1990年开始应用于万维网,在浏览器和Web服务器之间传递信息。
  在OSI七层网络结构模型中,它位于最高层——应用层,被设计为用于分布协作的多媒体信息系统。一个对它的简单理解是:浏览器和服务器之间的会话。浏览器用符合HTTP 协议的方式向服务器发出请求,服务器则同样以HTTP 协议规定的方式作出应答。
由于我们论文中的程序设计将涉及HTTP 协议,下面给出一些HTTP的术语解释:
(1) 连接:两个程序为了通信在传输层建立的“虚电路”。
(2) 消息:HTTP 通信的基本单元,通过连接传输。
(3) 请求:浏览器向服务器发出的HTTP 请求信息。
(4) 响应:服务器发送给浏览器的应答信息。
(5) 术资源:可以由URL标识的网络数据对象或服务。
(6) 实体:数据资源的特定实例,或者是服务资源的应答。它包含在请求或响应消息中。一个实体包含元数据(实体头)和内容(实体体)。
(7) 客户机:建立连接,发送请求的程序。
(8) 服务器:接受连接,通过响应客户机的请求来提供服务的程序。(9) 用户代理:初始化请求的客户程序、浏览器、编辑器和其它最终用户工具。
(10)原始服务器:创建和存放特定资源的服务器。
(11)代理服务器:充当其它服务器中介的一种服务器。它接收请求时好象是拥有被请求资源的原始服务器,实际上是它向原始服务器请求客户机要的资源,然后转发给客户机。发出请求的客户机并不知道是在和网关通信。代理服务器常常被用来作为通过防火墙的服务器端入口。
HTTP 协议一般是基于TCP/IP连接的,其默认端口是TCP的80端口。当然,也可以改为自己想用的其它端口,但必须在请求的消息中说明[2]。
1.2.3  URL剖析
URL( Uniform Resource Locator)指的是统一资源定位。一个URL就是指向Web上的某些数据的一个指针,它可以是一个Web文件,一个存放于FTP 或Gopher上的文件,或者是一个 e-mail地址。URL提供了一个通用的一致方法来查找信息。
大多数URL包括三个部分:协议、主机名称以及目录和文件名。
 
图1-1  URL的各个部分
协议指的是用来访问页面的方式,即您的浏览器将要用来访问文件的协议或程序的类型。如果浏览器使用HTTP协议访问文件,则URL的协议部分就是http。如果浏览器使用FTP,则协议部分就是ftp。依此类推。协议必须与服务器相匹配来进行工作。比如,服务器上没有安装HTTP 服务器程序,您当然无法使用HTTP  URL来取得服务器上的文件。
主机名称指的是在Internet上存储信息的系统的名称。当然,您可以使用具有相同的主机名但又具有不同协议的不同URL[1]。
URL的主机名称部分可能会包含一个端口号。这个端口号告诉您的浏览器以合适的协议来打开位于指定网络端口的连接而不是使用缺省的端口。如果一个端口号是必须的,那么它将出现在主机名称的后面和目录名称的前面,如下所示:
http://mysite.com:1550/pub/file
最后,目录指的是文件的位置或是在主机上的其它形式的信息。目录可能是一个真实的目录和文件名,也可以是某种协议用来代表信息所在位置的指示器(例如,Gopher就不是确切的目录)。
1.2.4  浏览器/服务器(b/s)模型
在90 年代初期,客户机/服务器( C/S)模型风靡一时。简单的说,客户是请求资源的程序,服务器是可提供资源的程序。其模型的运作方式是这样的:
(1)远端的用户机上启动一个客户应用程序,为访问所须需的信息建立必要的网络连接。
(2)户请求客户应用程序执行某个功能。
(3)户程序分析用户的请求,并计算出对存放在服务器上的数据发出何种请求。
(4)客户程序规范化该请求,并发送给服务器。
(5)服务器接收到请求后,进行相应的处理,将用户请求的数据通过网络发回给客户。
客户机/服务器模型基本思想之一就是充分利用服务器强大的处理能力,将应用的大部分功能放在服务器端实现;而客户机相对来说功能简单,以实现数据的集中、统一管理。
浏览器/服务器(B/S)模型则对客户机/服务器模型中的客户端进一步进行了简化。其工作过程如图所示:

 
图1-2  (B/S)工作过程图

利用Web方式来组织所有资源已经成为目前网络开发的发展趋势。其目的是把浏览器作为用户访问服务器上数据的统一界面,只要用户计算机上有浏览器,即可对任何平台服务器上的信息进行访问。与客户机/服务器模型相比,客户只需Web页面显示在屏幕上,全部的数据处理任务都交给了服务器方。
基于Web的浏览器/服务器模型允许任何计算机连接到Internet上 的Web服务器中获取信息,不管服务器就在您自己的房间里还是在地球的另一端。为实现这一功能立下汗马功劳的是TCP/IP 协议和  HTTP协议。前者使得Internet上的计算机能够从其它机器获取信息,即使两台机器相隔万里,体系机构完全不同。而后者则使得服务器和浏览器之间能够协商双方的信息传送方式[1]。
综上所述,我们可回顾一下采用浏览器/服务器(B/S)模型的好处:
(1)    用单一的访问点,用户可以在任何地方访问信息。
(2)这种资源,无论是文本还是多媒体信息,均采用同样的界面。
(3)对于所有的信息,无论其基于何种平台,都采用同样的界面访问,即实现了平台无关性。
 
第2章   搭建网站的准备工作
2.1  JSP 简介
JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页下载的是JDK1.2.2-001-win.exe,所以这里就以JDK1.2.2-001-wi的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame[12]。
JavaServer Pages(JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。
JSP 页面使用 XML 标签和 scriptlets(一种使用 Java 语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML 或者 XML)直接传递回响应页面。通过这种方式,JSP 页面实现了页面逻辑与其设计和显示的分离。
JSP 技术是 Java 系列技术的一部分。JSP 页面被编译成 servlets,并可能调用 JavaBeans 组件(beans) 或 Enterprise JavaBeans 组件(企业 beans),以便在服务器端处理。因此,JSP 技术在构建可升级的基于 web 的应用程序时扮演了重要角色。JSP 页面并不局限于任何特定的平台或 web 服务器上。JSP 规范在业界有着广泛的适应性。
2.2  deamweaver简介
Dreamweaver是Macromedia公司的出品的一款"所见即所得"的网页编辑工具。与 Frontpage不同,Deamweaver采用的是Mac机浮动面版的设计风格,对于初学者来说可能会感到不适应。但当你习惯了其操作方式后,就会发现Dreamweaver的直观性与高效性是Frontpage所无法比拟的。Dreamweaver与其它同类软件相比主要有以下优点:
不生成冗余代码。可视化的网页编辑器,都要把使用者的操作转换成html代码。一般的编辑器都会生成大量的冗余代码,给网页以后的修改带来了极大的不方便,同时还增加了网页文件的大小。Dreamweaver则在使用时完全不生成冗余代码,避免了诸多麻烦。而且,通过设置,还可用Dreamweaver清除掉网页文件原有的冗余代码。
方便的代码编辑。可视化编辑和源代码编辑都有其长处和短处。有时候,直接用源代码编辑会很有效。Dreamweaver提供了html快速编辑器和自建的html编辑器,能方便自如的在可视化编辑状态和源代码编辑状态间切换。
强大的动态页面支持。Dreamweaver的Behavior能在使用者不懂java script的情况下,往网页中加入丰富的动态效果。Dreamweaver还可精确的对层进行定位,再加上timeline功能,可生成动感十足的动态层效果。
操作简便。首先,Dreamweaver提供的历史面板、html样式、模版、库等功能避免了重复劳动,使用者不必重复输入相同的内容、格式。其次,Dreamweaver能直接往页面中插入Flash、Shockwave等插件,经过设置后还可直接调用相应的软件对这些插件进行编辑。最后,Dreamweaver与Fireworks集成紧密,可直接调用Fireworks对页面的图象进行修改、优化。
优秀的网站管理功能。在定义的本地站点中,改变文件的名称、位置,Dreamweaver会自动更新相应的超级链接。Check in和Check out功能可协调多个使用者对远程站点的管理。
便于扩展。使用者可给Dreamweaver安装各种插件,使其功能更强大。使用者若有兴趣,还可自己给Dreamweaver制作插件,使Dreamweaver更适应个人的需求。
2.3  安装MSSQL 2000 
MSSQL是由微软开发的支持SQL的数据库,主要运行于微软的Windows操作系统上,从MSSQL7.0开始盛行于桌面操作系统,目前使用最广泛的版本是MSSQL 2000 Server,现在微软正在加紧开始它的下一个MSSQL版本MSSQL 2005 Server,也叫Microsoft SQL Server Yukon,它的第一个测试版已经发放。 
MSSQL 2000安装过程十分简单,将MSSQL 2000安装光盘放入光驱,光盘自动运行,并出现安装界面,如图所示。选择“安装SQL Server 2000组件”,进入“安装组件”,选择“安装数据库服务器”,进入安装向导的“欢迎”页。单击“下一步”,在“计算机名”中安装向导自己检测本地计算机的名称,并将它填写在向导中。单击“下一步”,在“安装选择”中,选择“创建新的SQL Server实例或安装‘客户端工具’”。单击“下一步”输入“用户姓名”及“公司名称”,继续“下一步”,同意“安装许可”,单击“下一步”,输入正确的“序列号”。   
单击“下一步”,进入“安装定义”页,选择“服务器和客户端工具”,单击“下一步”,使用“默认”的“实例名”进行安装,单击“下一步”在“安装类型”中选择“典型”,单击“下一步”在“服务账户”中选择“使用域用户账户”,输入域的管理员账户与密码。单击“下一步”在“身份验证模式”中最好选择“混合模式”,输入SA账户的密码,并再输入一次进行确认。单击“下一步”,进入“选择许可模式”,可选择“每客户”,也可选择“处理器许可证”,若选择“处理器许可证”,则服务器上有几个处理器后面就输入几,选择“处理器许可证”可以支持不限数据的客户端进行连接。而选择“  每客户”,则来访的每个客户端都需要有一个许可证,后面输入可能同时连接的最大的数字,单击“继续”,刚安装向导开始复制安装文件,并根据刚才的设置,进行服务器的配置,复制完成后单击“完成”,结束安装。   
重新启动计算机或者单击“开始→程序→Microsoft SQL Server→服务器管理器”,打开“SQL Server服务器管理器”,在系统托盘中会同时出现SQL服务的图标,单击“开始/继续”前的小三角,此时,在系统托盘中的图标上会有一个绿色箭头,表示服务已经启动。 
2.3  JDK配置
JDK是sun公司java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的java虚拟机平台,是调试和运行jsp所不可缺少的工具。
首先在安装前先要下载JDK,这可以从SUN公司的网站上下载,到http://java.sun.com/products/jdk/1.2这个页面下载JDK1.2.2-001-win.exe或JDK 1.3-win.exe,由于笔者n.exe为例。下载后,双击JDK1.2.2-001-win.exe就可以开始安装了,在安装过程中有很多选项,按个人需求正确选择,这里我们以第一次安装为例,全部选择默认配制即可,安装的默认路径为[windows所在的根目录(以下设为c:)]\jdk1.2.2,安装完毕后就可以重新启动了。
启动时要更新环境变量,在开机时要自动调用JDK系统,因此要设置一些环境变量,我们以windows2000 server版系统为例进行系统环境变量设置(在windows 9x系统中可在autoexe.txt中进行设置)。设置方法如下:
在桌面上,用鼠标右键单击[我的电脑]图标,选择[属性]按钮,弹出[系统特性]对话匡,选择[高级]选项卡,单击[环境变量]按钮,单击[环境变量]对话匡,该对话匡有两个选项组,分别为[Administrator的用户变量]和[系统变量]两个选项组。在[系统变量]选项组中找path变量,找到后单击[编辑],弹出[编辑系统变量]对话匡,在其中[变量值]文本匡中输入“(jdk所在根目录以下设为C:)\jdk1.2.2\bin",然后按“确定”就ok了,这样在运行jsp时系统就可以自动找到JDK路径进行编译了。与此同时,新建一个classpath变量,在[系统变量]选项组中,单击[新建]按钮,弹出[新建系统变量]对话匡,在[变量
名]文本匡中输入“classpath",在[变]文本框中输入:"c:\jdk1.2.2\lib\tools.jar;c:\jdk1.2.2\lib\dt.jar;c:\jsdk2.0\lib\jsdk.jar;",
然后单击[确定]扭,然后再用此方法将c:\jdk1.2.2添加到java_home环境变量中,如果在安装时没有将其安装在默认目录下,必须在此进行环境变量的设置,否则系统将无法完成编译工作。以上工作完成后回到最处的[系统特性]对话匡中,单击[应用]或按下[确定],JDK就安装配制好了。
2.4  tomcat配置
配置tomcat之前需要预先下载几个软件:
1.微软win2000的服务包(可以没有)。
2.java的sdk也叫jdk(java的开发环境)(必须的,前面已经介绍)。
3.tomcat(用做web的服器(必须的)。
然后就要配置java的jdk和tomcat的服务器具体步骤如下:
1. 我的电脑的属性-->高级-->变量环境-->我们需要新建系统变量(一共四个):
(1) 变量名称添入:path    变量值添入:您的jdk的安装目录\bin。
     例如:我的安装目录是c:\sun\j2eesdk1.4_beta2\jdk\bin。
(2) 变量名称添入:classpath    变量值添入(注意引号不填,前面有一个小圆点也必须添,把下面的这些都添到变量植的一行中,并且用分号搁开,见下面,为了方便看我分了很多行写):
您的安装目录\lib\tools.jar;
您的安装目录\dt.jar;
您的安装目录\bin;
您tomcat的安装目录\common\classes;
您tomcat的安装目录\common\lib;
您tomcat的安装目录\common\lib\servlet-api.jar;
(3)变量名添入java_home,值添如您的安装目录例如我的安装目录是:c:\sun\j2eesdk1.4_beta2\jdk。
(4) 变量名添入TOMCAT_HOME(注意,大小写都可以的),值添入您tomcat的安装目录 例如我的安装目录是c:\tomcat\jakarta-tomcat-5.0.14。
2. 配置tomcat的执行文件(.bat): 先进入tomcat的安装目录,找bin文件夹,进入bin 然后在找startup.bat文件,注意,有些版本可能名字不一样,但是名字前总是startup, 单击右键-->编辑.打开了这个文本,然后寻找start字母,一般在最后,我们只需在start字母后面添加:
         SET TOMCAT_HOME=您tomcat的安装目录;
         SET JAVA_HOME=您的jdk安装(例如我的是:c:\sun\j2eesdk1.4_beta2\jdk); 
         SET CLASSPATH=您jdk的安装目录\dt.jar;
         SET CLASSPATH=您的tomcat的安装目录\common\lib\servlet-api.jar;
这一步的主要目的是为了,在执行.jsp文件是,tomcat 服务器能够自动找到一些java的环境以及类环境等等...好了,第一步和第二步我们完成了,对系统环境变量的配置,和对tomcat的配置,接下来还有一个问题,那就是设置虚拟目录的问题,为什么要设置虚拟目录?因为当在浏览器上打入一个地址的时候,和文件的实际所在的目录是不一样的.所以必须进行设置,虚拟目录才会按照我们的设置去自动寻找实际的目录。
配置虚拟目录主要就是对tomcat跟目录下的conf文件夹中的server.xml文件进行配置,进入后,以文本方式打开这个.xml文件,(方法是:选中该文件,然后按住shift再点右键,寻找打开方式,我们以文本方式打开.就可以了,您可以使用记事本的查找功能,(在编辑菜单下)查找</host> 在这个</host>前添加这样的代码(path就是虚拟目录,而docbase就是实际的物理目录了):
<Context path=/yuan docBase=D:\yuan debug=0 reloadable=true crossContext=true></Context>
然后保存,之后在d盘下建立一个yuan的文件夹,在里面写一个网页起名叫index.jsp,然后在浏览器的地址栏内就可以写入http://localhost:8080/yuan这样就能看到这个网页了,然后大家再不断的编辑就可以了。编辑工具选择dreamweaver。
 
第3章   网上购书系统
3.1  本站基本功能如下
3.1.1  首页(index.jsp)
(1)图书选购,(可按分类方式查找图书,或通过关键字进行查询) 购物车功能。
(2)查看图书详细情况。
(3)用户注册。
(4)用户登录。
(5)查看用户的订单信息。
(6)修改用户个人信息。
首页(main.jsp)是本站所有内容的缩影,可谓“麻雀虽小,五脏具全”。页面顶部是独具本站特色的变换字,其下左侧是日期显示,这两个部分都是由Javascript实现的。顶部下方是导航栏,这一部分几乎在网站的每一个功能页面存在。页面底部只是简单的信息提示,同样存在于每个功能页面。包括一个Javascript制作的动态导航栏,用户购物的登陆、注册表单和一个网页计数器几部分。其中动态导航栏页面与顶部信息区的导航栏的功能基本相同。只是样式更加新颖,增加了页面的动感。此处的登陆与注册相对于社区的要正规的多,因为它是保证用户网上购物的前提。这里还提供了密码提示服务。主要在reg.jsp中实现。网页计数器结构也非常简单,即建立一个文本count.txt保存数字。当有用户访问时,则先打开计数文件,并以读方式锁住计数器文件,防止多人同时读取文件而造成计数丢失,再读取记数,加1,写回文件,关闭文件,将更新后的计数以图片形式展示于页面,即形成一个精美的计数器。当然,也是通过require()函数引入到主界面的。
首页的主要部分是中间部分,它纵向又划分为三块,左块是会员注册及登陆和快速搜索,通过商品搜索,用户可直接进入在线商店,同时系统将搜索结果以表格形式列出,供用户浏览。其下是社区部分详细列出了社区的讨论分区,使用户可直接进入自己所关心的话题部分。
中块是精品推荐和图书介绍,右块是新闻提示将新闻分类显示和销售排行榜,每类在此近列出一条新闻,可直接阅读,当点击“更多新闻”则可进入新闻集锦分类查看。
至此,首页的全部内容叙述完毕。首页部分页面展示如图3-1所示。

图3-1 网站首页
3.1.2  后台管理部份
(1)商店图书管理:添加,修改,删除,查看。
(2)用户信息管理:查看,修改,删除。
(3)订单信息管理:查看订单清单,更新订单付款,出货状态。删除订单。
(4)数据库设计时采用MS SQL用所附脚本生成表结构。  
(5)留言管理:主要是和客户进行交流以便更好的发挥网上书店的功能从而减少书店的运行周期(调查行情进而决定上什么的书目等所花费的时间)。
3.2  数据库设计
数据库总设计的ER图如图3-2所示。

网上书店采用MS SQL Server作为后台的数据库。我们建立了一个名为BookShopDB的数据库用于存放放系统中的表,各表的名称和功能如表3-1所示。

图3-2 ER图

表3-1   BookShopDB数据库中的表及其功能说明
表  名    功 能 说 明
Book    书籍信息表
Class    书籍分类信息表
User    用户信息表
Admin    管理员信息表
Sheet    订单信息表
message    留言信息表
counter    计数器信息表
下面将详细介绍我所设计模块表的数据结构。
在Book(书籍信息表)表中,存放有关书籍的一切信息,book表和user表详细的表结构如表3-2和3-3所示。


表3-2   Book表的结构
字段名称    数据类型    长  度    说  明
BookNo    自动编码(long)        关键字,书籍编号
BookName    文本(String)    30    书籍名称
Author    文本(String)    30    作者
classNo    数字(long)        用于存放书籍分类的编号
Publish    文本(String)    30    出版社
Content    备注(String)        内容简介
Picture    文本(String)        图片信息
Price    数字(double)         书籍定价
WebPrice    数字(double)         本站的售价
NowPrice    数字(double)         现价
Amount    数字(long)         书记入库的总量
Leav_number    数字(long)         剩余书籍的数量
RegTime    日期(datetime)        登记日期,默认值Date()


表3-3  user表的结构
字段名称    数据类型    长  度    说  明
userNo    自动编码(long)        用户编号
userName    文本(String)    30    用户名
password    文本(String)    30    用户密码
sheetNo    数字(long)        用于存放定单的编号

3.3  会员管理模块
会员管理模块包含以下子模块。
(1)会员注册。
(2)会员审核。
(3)用户登录验证。

会员注册子模块包含以下页面。
(1)reg.htm。
(2)reg2.jsp。
(3)reg3.jsp。
(4)user.jsp。
(5)index.jsp。
(6)order.jsp。

3.3.1  会员注册协议核准
一个网站为了使自己的网站有固定的客户群,方便对用户的管理,一般都具有会员注册的功能。会员注册的操作是很简单的,在主页面有会员管理模块,用户很容易就可以找到,点击注册按钮,便进入会员注册的模块。在注册过程中,有些信息是要求用户必须填写的,如:用户名、密码、电子邮箱等。而且这些信息的格式有严格的验证,不附和要求的信息是不可以进入注册的下一步的,如:用户名不能为空、密码验证不相符等。
1.    页面示例
图3-3为会员注册的第一步所看到的页面。

 
                        图3-3 会员注册第一步
2.页面中需要用户填写的HTML表单元素,如表3-4所示。
3.页面所涉及的数据库表信息。
此页面并没有涉及到数据库表的操作。

3.3.2  会员注册信息填写
1.页面示例
图3-4为用户注册会员第2步看到的页面效果。
2.页面中需要用户填写的HTML表单元素。
该页面中共有7个表单元素,如表3-4所示。

 
图3-4 会员注册第2步

表3-4 reg2.jsp的表单元素
名称    表单    含义    最大长度
usename    Text    用户注册的名字    16
Psw    Txet    用户注册的密码    16
Email    Txet    用户注册的邮箱    
Id    Txet    用户身份的证明    18
Truename    Text    用户的真实姓名    16
Address    Text    用户注册的地址    16
Tel    Text     用户注册的电话    16


3.页面所涉及到的数据库表信息
当用户注册新会员时,此页将判断用户新提交的用户名在会员库中是否已经存在,如果存在则提示用户重新申请。此功能需要查询数据库中的用户信息表reg。

3.3.3  会员注册信息确认
(1)页面示例
图3-5用户注册第3步看到的页面效果。

 
图3-5会员注册第3步
(2)页面中需要用户填写的HTML表单元素。
页面中无需要填写的HTML元素。
(3)页面中所涉及到的数据库表信息。
用户将注册会员所需要的信息提交到数据库用户信息表reg。返回重写按钮的功能:如果用户发现信息填写错误,可以返回修改已填信息。
用户严格按照要求填写信息后,便可以成功注册为本站的会员了,如果未能注册成功的话,系统会有信息提示,用户名已存在请重新注册的信息。成为本站的会员后,就可以享受本站为您提供的所有服务了。

3.3.4  会员注册信息查看
(1)页面示例图3-6管理员查看注册会员信息的页面效果。
在数据库中,此页面用到系统的用户信息表reg。
 
图3-6会员审核
(2)页面中需要用户填写的HTML表单元素。
此页面中无需要填写HTML表单元素。
   (3)页面所涉及到的数据库表信息。
此页面使用到系统中的用户信息表reg。
在该出设计时起先只是查看用户,并没有想到这里也可以直接就是用户做为。
在此页面其实包含了一个删除用户的页面,该页面并没有页面显示,在删除成功后跳转到用户审核页面。该页面涉及到的数据库信息时是把指定的用户在用户信息表中删除,也就是使用的是reg。
3.3.5  会员登陆
(1)页面示例如图3-7所示。

 
图3-7 会员登录

 
                            图3-8 网站管理员登陆
成为本站会员后要想轻松购物的化是需要登录的,会员登录窗口在主页的显著位置,当您输入用户名和密码后,系统会对您输入的信息进行验证。验证过程为:
<%dim username,userpassword,comeurl
username=replace(trim(request("username")),"'","")
userpassword=replace(trim(request("userpassword")),"'","")
if username="" or userpassword="" then
response.write "<script LANGUAGE='javascript'>alert('对不起!您的用户名或密码有误!');history.go(-1);</script>"
response.end
end if
set rs=server.CreateObject("adodb.recordset")
rs.Open "select * from [user] where username='"&username&"' and userpassword='"&userpassword&"' " ,conn,1,3
if not(rs.bof and rs.eof) then
if userpassword=rs("userpassword") then
response.Cookies("songxf")("username")=trim(request("username"))
    Response.Cookies("aspsky")("username") = rs("username")
Response.Cookies("aspsky")("password") = rs("userpassword")
rs.Close
set rs=nothing
else
response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误!');history.go(-1);</script>"
end if
end if
%>
通过验证输入无误,用户登录成功,这是用户可以管理自己的账户,可以购物完成所有功能的操作。说道购物,在这里必须介绍一下购物车的实现。
(2)该表单中共有两个需要用户填写的表单元素,如表3-5所示。
 
表3-5 用户登录表单元素
名称    表单    含义    最大长度
uid    Text    用户登录名称    16
pwd    Password    用户登录密码    16
(3)页面所涉及到的数据库表信息
此登录表单仅完成向系统提交会员登录信息,没有使用到系统中的数据库表信息。
3.3.6  用户使用
该模块主要是用户的一些功能,其页面示例如图3-9所示。
 
      
图3-9 用户功能
图书搜索条如图3-10所示。

 
图3-10 图书搜索条

(1)修改密码示例如图3-11所示。
        
图3-11 修改密码
(2)购物车
购物车的实现是非常重要的,用户的购物活动离不开购物车。有了购物车用户可以随时了解自己的购物情况,察看购物的商品数量,商品的名称、价位,了解自己的购物金额,使用起来是非常方便的。购物车功能的实现,只有会员登陆后才可以使用,购物车显示的内容是会员的信息,主要是数据库的关联。通过会员的ID号与商品信息商家信息建立连接,找到相应的数据显示。购物车在使用中设置了自动关闭功能,默认时间是10秒,实现语句为:
<script language="Javascript">
function closeinfo(){window.close();}
setTimeout("closeinfo()", 10000);
</script>
购物车如图3-12所示。

                              
 
图3-12  购物车


 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

用数据说话用数据决策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值