JSP 在线CD销售网站的设计与开发(论文+源码)_Nueve
摘 要
随着Internet的迅速崛起,互联网已逐渐成为人们收集和传递信息的最佳渠道,并逐步进入了传统的商品流通领域。互联网的跨地域性和可交互性使其在与传统贸易方式的竞争中具有不可抗拒的优势,网上商城和在线购物正是这一时代的产物,随之出现的各种商品在线销售网站也正朝着专业化和规模化的方向发展。因此开发一个具有强大功能的专业的在线CD销售网站具有实际的意义。
针对在线销售的特点和网民可以随时随地进行购物的需要,设计开发了这个基于JSP技术的在线CD销售网站。本文首先介绍了网上商店的现状和本系统的开发背景,然后论述了系统的设计目标、系统的功能需求和总体设计方案,较详细的论述了系统的具体设计和实现,最后本文对在线CD销售系统进行了测试,并提出了还需要改进的问题。
本系统主要包括以下几个模块:(1)用户登录模块;(2)购物车管理功能模块;(3)CD管理功能模块;(4)会员管理功能模块;(5)CD的在线查询功能模块;(6)其他功能模块。其中购物车管理功能模块、用户管理功能模块和CD管理功能模块是重点研究对象。
关键词: JSP技术 在线销售网站 Java Bean 数据库
目 次
前言
目前,网络正以一种前所未有的冲击力影响着人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中的时间和空间中的种种壁垒。极大地改变着人类,从物质到精神、从形式到内容、从生产到生活的方方面面,并且给人类带来了许多新的机遇和挑战。而互联网服务业务方面:电子邮件、网上银行、在线交易、网络广告、网络游戏等服务业务也都在快速的发展着。
本次毕业设计的任务是构建一个基于JSP技术的在线销售CD的电子商务网站。JSP是Java Server Page的缩写,该技术是由Sun Microsystems公司倡导,许多公司参与建立的一种动态网页技术标准,它在开发动态网页方面有着特别强大的功能。JSP是一种在服务器端HTML(或XML)中嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP技术在开发动态网站方面有以下特色:
(1)JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言;
(2)高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高;
(3)可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序;
(4)稳定性和产品的多样性。
目前,在国内JSP技术还是一种较新的技术,而在国外JSP+JDBC+Java Bean已经成为开发电子商务网站的主流技术,随着国内与国际的接轨,JSP技术也必将成为国内动态网站开发技术的首选。
本在线CD销售系统中我主要做了以下几个模块的设计与开发:用户登录模块、购物车管理功能模块、CD管理功能模块、用户管理功能模块、CD在线查询功能模块、销售统计功能模块。其中购物车管理模块、用户管理模块、CD管理功能模块是重点研究对象。本论文中第一章论述了开发的背景及意义;第二章论述了需求分析及开发技术选择;第三章论述了系统总体架构设计和流程分析;第四章论述了数据库设计;第五章论述了系统各模块的设计与实现;第六章论述了系统的测试与分析;最后总结了我在本次毕业设计中的收获。
1 在线销售系统概述
1.1 系统的开发背景
1.1.1 网上商店的发展状况
近年来随着Internet的迅速崛起,利用无国界、无区域界限的Internet销售商品或服务已成为商品交易的新选择。从国际上召开的一系列关于“如何利用Internet制造商机”的讨论会可以看出,网上购物这种购物方式也即将成为一种新的购物趋势。这种交易方式的优越性也将逐渐被人们所理解,并且这些观念正在以难以想象的加速度传播到世界的各个角落。中国也不例外,随着国内各项技术的日益完善,人们的参与意识也在逐渐的增强,各种在线销售网站蓬勃发展的良好趋势以已初现端倪。从政府到公民,普遍认为“信息时代”已经到来。作为“信息时代”一种重要形式的网上商店将成为新时代的宠儿,于是越来越多的商家在网上建起了自己的在线商店,向消费者展示着这种新颖的购物理念。
网上购物系统是一种具有交互功能的商业信息系统,它向用户提供静态和动态两类信息资源。所谓静态信息是指那些不经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价、会议安排或时事新闻等。因此在线销售系统要具有强大的交互功能,可使网站管理商和用户方便的传递信息,实现商品的在线销售。
1.1.2 系统的技术现状
目前在国内PHP技术和ASP技术应用最为广泛,而JSP技术由于是一种较新的技术,国内采用的还较少。但在国外,JSP技术已经是一种比较流行的技术了,尤其是电子商务类的网站,多采用JSP技术。也有一些是采用的PHP技术,如新浪网(www.sina.com)等。但是由于PHP技术本身存在的一些缺点,使得它不适合应用于大型电子商务网站,而比较适合一些小型的商业站点。
首先,PHP缺乏规模支持;其次,缺乏多层结构支持。但对于大负荷站点的解决方法只有一个:分布计算,数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。再有上面提到的PHP提供的数据库接口支持不统一,就使得它不适合运用在大型电子商务网站中。而ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windows的COM/DCOM获得ActiveX规模支持,通过DCOM和Transaction Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用 JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop,它原来的产品Intershop1,2,3,4占据了电子商务软件的主要份额。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。
总的来说,ASP,PHP,JSP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的JSP技术,一方面,JSP的安全性和跨平台性比较好;另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。
1.2 系统开发的意义
Internet的飞速发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案,利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除了时间和空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。
在众多电子商务系统中,当今比较流行的网上购物系统国外的有“淘宝网(www.taobao.com)”,国内的有“当当网(www.dangdang.com)”。它们都是相当优秀的电子商务网站,也为其他的网站提供了良好的典范。在设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的在线销售电子商务网站应有的功能和注意事项。
设计和完成一个在线销售电子商务网站有着深刻的意义,在开发过程中将会牵涉到许多技术上的问题,如:动态网页制作技术、后台数据库的设计和管理等。通过实际的制作网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。
2 在线销售系统分析及开发技术
2.1 系统的设计目标
一个典型的在线销售电子商务网站系统应该具备以下主要功能:
(1)能24小时不间断的为客户提供方便快捷的在线订购服务;
(2)方便的商品信息维护与管理,包括调整商品价格、修改现有商品信息、添加新商品信息、删除过时商品信息等;
(3)强大的用户管理功能,修改已注册用户信息、删除已注册用户、查看已注册用户的详细信息等;
(4)高效的商品数据方案,能对商品信息进行科学、灵活的分类和存储,使得客户能迅速地从少则几千,多则上万种CD中找到自己所需的CD;
(5)强大、方便、快捷的查询功能。提供关键字分类查询功能,让客户可以很轻松的找到自己想要的CD;
(6)购物车功能,能够对购买物品数量进行修改、商品删除或清空购物车;
(7)订单号模块,所谓订单号模块就是客户购买完商品后,系统自动分配一个购物号码给客户,以方便客户随时查询账单处理情况。了解现在货物的状态。
2.2 系统的需求分析
需求分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行详细的调查研究。通过系统分析并参考几个大型的网站得出了本系统功能需求。在本系统中,功能界面可以分为客户界面部分和管理员界面部分,详细功能需求如下:
用户界面部分:
查看CD详细信息,并可以直接购买任意数量的欲选购的CD唱片;
CD查询功能:可按分类方式查找CD,也可通过任意关键字进行查询,并可以查看搜索到的CD唱片的详细信息;
购物车功能:可对购买物品数量进行修改,可以删除购买商品,也可以清空购物车;
用户注册功能:因为不打算给未注册用户预留浏览接口,所以必须提供便捷的用户注册功能;
查看用户的订单信息:用户可以查看自己的订单信息;
查看用户积分等级:用户可以查看自己的积分信息;
查看销量排行:用户可以查看CD唱片销量排行榜。
管理界面部分:
CD管理功能:管理员登陆后可以添加新的CD信息以及新的CD分类、可以修改已有CD信息、可以删除已有CD信息、可以查看已有CD信息;
用户管理功能:管理员登陆后可以修改已注册用户信息、可以删除已注册用户、可以查看已注册用户的详细信息等;
订单管理功能:查看订单清单、更新订单付款、查看出货状态、删除订单;
查看销售统计,管理员可以查看CD销售情况以及销售排行。
2.3 系统开发的设计思想
本系统存在3种用户:管理员用户、未注册用户、已注册用户。为了简化思路,我们不给未注册用户提供浏览接口,而是需要用户注册以后才能进行浏览CD或购买CD等动作。而管理员用户则由系统初始化的时候指定,并不采用注册机制,另外就是需要提供给普通用户和管理员用户不同的接口。登陆判定上采用首次给予数据库验证,然后把用户信息写进session,然后其他页面采用session验证。
本系统采用三层架构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。三层在实际的物理结构上也是独立的,业务逻辑处理层采用Java Bean实现,用户界面与业务逻辑分离,系统的安全性、可维护性、重用性和可扩展性都大大提高。三层架构的工作原理如图2.1所示。
图2.1 三层架构工作原理图
在图中所示的三层架构中,用户界面层通过统一的结构向业务层发送请求,业务层按自己的逻辑规则将请求处理进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层,这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。
上面Java Bean通过返回对象的形式返回数据,在类的内部可以规定哪些数据可访问,哪些数据时只读的等,从而通过封装数据达到再一次提高数据全性的目的。
2.4 系统的开发技术
针对在线销售和网民可以随时随地进行购物的需要,以及功能考虑,本次设计开发的在线销售网站是基于JSP技术的。网站系统采用JSP+JavaBean+SQL2000 设计方式, Java Bean组件可以用来执行复杂的计算任务,或者负责与数据库的交互及数据提取等,在本系统中Java Bean主要担当配合JSP以及Servlet来完成用户的请求,而JSP主要担当接受与响应客户端,Sql 2000在本系统担当与数据库的连接与通信。
2.4.1 JSP简介
JSP(Java Server Pages)是由Sun Microsystems公司于1999年6月倡导,许多公司参与一起建立的一种动态网页技术标准。它的实现是在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以实现建立动态网站所需要的功能,包括操作数据库、重新定向网页及发送E-mail等等。所有程序操作都在服务器端执行,网络上传送给客户端的仅仅是得到的结果,因而对客户浏览器的要求很低。
2.4.2 JSP技术的发展现状
JSP技术被设计成为一个开放的、可扩展的以及用于创建动态Web页面的标准。开发人员可以使用JSP技术来创建具有可移植性的Web应用程序。开发结果可以在各种Web服务器和Web应用服务器上运行,而不用考虑具体的开发平台或开发工具。为了给动态Web页面提供一个开放的工业标准,JSP规范的1.0版本的提出,是向这个方向迈出的第一步。在1.0版本中,其基础由核心标记集、隐含对象以及开始创建动态Web页面所需的基本功能构成。已经有许多Web服务器,Web应用服务器和工具开发商为他们的产品添加了对JSP1.0的支持。
JSP 1.0 版本中加入了一些新的特色,特别是加入了XML的语法和输出缓冲等功能,以解决重定向的错误,而同时一些在0.92版本中的功能被取消了。
随着XML 越来越热门,在不久的将来XML将成为主流。因此,在JSP1.0的语法中开始了对XML的支持,并希望能够与其兼容。不过,在JSP1.0版本中对XML的支持还不是必须的,但在将来的JSP1.1版本中对它的支持将成为必然。JSP1.1与JSP1.0 两个版本基本上同时开发的。但是,JSP1.1需要新的Servlet API的支持,所以JSP1.1将会等新的Servlet API 公布之后才会推出。除了JSP标准的语法标记之外,JSP1.1将会提供有可扩展的自定义语法标记机制,这样使用者就可以定义自己的语法标记,并且可以在任何支持JSP1.1的引擎上运行它们,而且供应商们也会有选择地扩展或扩充JSP规范中的功能。JSP引擎能够强有力地支持多种脚本语言和对象模型。在不断扩充和使用JSP技术同时。也将保持JSP技术对平台和服务器的可移植性。
图2.1 三层架构工作原理图
在图中所示的三层架构中,用户界面层通过统一的结构向业务层发送请求,业务层按自己的逻辑规则将请求处理进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层,这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。
上面Java Bean通过返回对象的形式返回数据,在类的内部可以规定哪些数据可访问,哪些数据时只读的等,从而通过封装数据达到再一次提高数据全性的目的。
2.4 系统的开发技术
针对在线销售和网民可以随时随地进行购物的需要,以及功能考虑,本次设计开发的在线销售网站是基于JSP技术的。网站系统采用JSP+JavaBean+SQL2000 设计方式, Java Bean组件可以用来执行复杂的计算任务,或者负责与数据库的交互及数据提取等,在本系统中Java Bean主要担当配合JSP以及Servlet来完成用户的请求,而JSP主要担当接受与响应客户端,Sql 2000在本系统担当与数据库的连接与通信。
2.4.1 JSP简介
JSP(Java Server Pages)是由Sun Microsystems公司于1999年6月倡导,许多公司参与一起建立的一种动态网页技术标准。它的实现是在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以实现建立动态网站所需要的功能,包括操作数据库、重新定向网页及发送E-mail等等。所有程序操作都在服务器端执行,网络上传送给客户端的仅仅是得到的结果,因而对客户浏览器的要求很低。
2.4.2 JSP技术的发展现状
JSP技术被设计成为一个开放的、可扩展的以及用于创建动态Web页面的标准。开发人员可以使用JSP技术来创建具有可移植性的Web应用程序。开发结果可以在各种Web服务器和Web应用服务器上运行,而不用考虑具体的开发平台或开发工具。为了给动态Web页面提供一个开放的工业标准,JSP规范的1.0版本的提出,是向这个方向迈出的第一步。在1.0版本中,其基础由核心标记集、隐含对象以及开始创建动态Web页面所需的基本功能构成。已经有许多Web服务器,Web应用服务器和工具开发商为他们的产品添加了对JSP1.0的支持。
JSP 1.0 版本中加入了一些新的特色,特别是加入了XML的语法和输出缓冲等功能,以解决重定向的错误,而同时一些在0.92版本中的功能被取消了。
随着XML 越来越热门,在不久的将来XML将成为主流。因此,在JSP1.0的语法中开始了对XML的支持,并希望能够与其兼容。不过,在JSP1.0版本中对XML的支持还不是必须的,但在将来的JSP1.1版本中对它的支持将成为必然。JSP1.1与JSP1.0 两个版本基本上同时开发的。但是,JSP1.1需要新的Servlet API的支持,所以JSP1.1将会等新的Servlet API 公布之后才会推出。除了JSP标准的语法标记之外,JSP1.1将会提供有可扩展的自定义语法标记机制,这样使用者就可以定义自己的语法标记,并且可以在任何支持JSP1.1的引擎上运行它们,而且供应商们也会有选择地扩展或扩充JSP规范中的功能。JSP引擎能够强有力地支持多种脚本语言和对象模型。在不断扩充和使用JSP技术同时。也将保持JSP技术对平台和服务器的可移植性。
3 系统的基本框架和流程分析
3.1 系统的功能模块
根据系统设计可知本系统模块可以分为三大部分。
(1)管理模块,用于管理员进行CD管理,定单管理和用户管理,其功能有:
①管理员登录;
②CD管理:包括查看、增加、修改、删除;
③CD分类管理:包括查看、增加、删除;
④订单管理:包括查看、修改、删除;
⑤用户管理:包括查看、修改、删除;
⑥CD销售统计。
(2)用户模块,用于用户可以在网上选购CD,包括以下几部分:
①用户注册;
②用户登录页面;
③用户在线购买:查看CD信息、放入购物车;
④用户购物车管理:查看购物车或修改、删除、提交购物车;
⑤用户订单信息:主要是查看已有订单;
⑥查看CD销售排行。
(3)公用数据库模块:
①实现数据库的连接。
3.2 系统基本架构的设计
根据3.1节中功能模块的划分,以及面向对象和采用三层架构的设计思想,得出系统总体结构设计架构如图3.1所示。
图3.1 系统总体结构设计图
图5.1 用户注册界面
图5.2 用户登录界面
图5.3 购物车模块界面
图5.4 CD管理模块界面
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。