第一篇:jsp网上商城购物系统
jsp网上购物系统
2008年10月11日 星期六 下午 06:03 网上购物系统设计
摘 要:本网上购物系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。
本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系 统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网 上购物系统进行了系统检测并提出了还需要改进的问题。
本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,新闻信息管理,广告链接管理等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用Access数据库。 关键词:B/S结构;JavaBean;JSP;Access
目 录
中文摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„Ⅰ 英文摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„Ⅱ 目 录„„„„„„„„„„„„„„„„„„„„„„„„„„„Ⅲ 前 言„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 一 网上购物系统概述 „„„„„„„„„„„„„„„„„„„„„2 1.1系统的开发背景 „„„„„„„„„„„„„„„„„„„„„2 1.1.1网上购物的发展„„„„„„„„„„„„„„„„„„„2 1.1.2网上购物系统的现状„„„„„„„„„„„„„„„„„„2 1.2系统实现的目标„„„„„„„„„„„„„„„„„„„„3 1.3系统开发的意义„„„„„„„„„„„„„„„„„„„„3
二 网上购物系统分析 „„„„„„„„„„„„„„„„„„„„„4 2.1网站的设计目标 „„„„„„„„„„„„„„„„„„„„„4 2.2网站的可行性分析„„„„„„„„„„„„„„„„„„„„4 2.3网站的深入调查 „„„„„„„„„„„„„„„„„„„„„5 2.4网站设计的特点 „„„„„„„„„„„„„„„„„„„„„5 2.5网站开发的设计思想„„„„„„„„„„„„„„„„„„„5 2.6系统设计的总体规则„„„„„„„„„„„„„„„„„„„6 三 系统的开发技术及主要架构„„„„„„„„„„„„„„„„„7 3.1开发技术的选择„„„„„„„„„„„„„„„„„„„„„7 3.2系统的主要架构及开发模式„„„„„„„„„„„„„„„„7 3.1.1基于B/S的体系结构„„„„„„„„„„„„„„„„„8 3.1.2基于MVC的应用开发模型„„„„„„„„„„„„„„„8 四 系统的功能和流程分析„„„„„„„„„„„„„„„„„„„10 4.1 网站的功能分析„„„„„„„„„„„„„„„„„„„„10 4.2 平台功能模块的设计分析„„„„„„„„„„„„„„„„10 4.3 系统流程分析„„„„„„„„„„„„„„„„„„„„„11 4.3.1 前台购物流程„„„„„„„„„„„„„„„„„„„11 4.3.2 注册功能流程„„„„„„„„„„„„„„„„„„„„11 4.3.3 商品搜索流程„„„„„„„„„„„„„„„„„„„„12 4.3.4 用户登录流程„„„„„„„„„„„„„„„„„„„12 4.3.5 商品管理流程„„„„„„„„„„„„„„„„„„„13 4.3.6 购物车流程„„„„„„„„„„„„„„„„„„„„„14 五 系统功能的具体实现„„„„„„„„„„„„„„„„„„„15 5.1 系统数据库表的基本设计„„„„„„„„„„„„„„„„15 5.2 功能总体说明„„„„„„„„„„„„„„„„„„„„„„17 5.2.1 目录结构说明„„„„„„„„„„„„„„„„„„„„17 5.2.2功能页面结构„„„„„„„„„„„„„„„„„„„„18 5.2.3主要功能流程„„„„„„„„„„„„„„„„„„„„18 5.3各功能模块的实现„„„„„„„„„„„„„„„„„„„„19 5.3.1数据库的连接„„„„„„„„„„„„„„„„„„„19 5.3.2用户登陆模块的实现„„„„„„„„„„„„„„„„„19 5.3.3 购物车模块的实现„„„„„„„„„„„„„„„„„22 5.3.4后台管理模块的实现„„„„„„„„„„„„„„„„„25 5.3.5商品搜索模块的实现„„„„„„„„„„„„„„„„„27 六 系统测试及难点分析„„„„„„„„„„„„„„„„„„„29 6.1系统运行环境的搭建„„„„„„„„„„„„„„„„„„„29 6.1.1 JAVA虚拟机的安装„„„„„„„„„„„„„„„„„29 6.1.2 Tomcat环境搭建 „„„„„„„„„„„„„„„„„„29 6.2 系统程序的安装和加载„„„„„„„„„„„„„„„„„29 6.2.1文件的拷贝„„„„„„„„„„„„„„„„„„„„„30 6.2.2 数据库的连接„„„„„„„„„„„„„„„„„„„„30 6.3系统的测试„„„„„„„„„„„„„„„„„„„„„„„30 6.3.1系统关键部分测试分析„„„„„„„„„„„„„„„„30 6.3.2 单元测试分析„„„„„„„„„„„„„„„„„„„„30 6.3.3测试结果分析及说明„„„„„„„„„„„„„„„„„31 6.3.4系统的性能分析„„„„„„„„„„„„„„„„„„32 6.4系统中存在的问题及解决方法„„„„„„„„„„„„„„32 6.4.1系统的整体设计和规划中的问题„„„„„„„„„„„32 6.4.2开发功能模块所遇到的难点„„„„„„„„„„„„„33 6.4.3系统中存在的问题及拟定的解决方法„„„„„„„„„34
总 结„„„„„„„„„„„„„„„„„„„„„„„„„„„35 参考文献 „„„„„„„„„„„„„„„„„„„„„„„„„„„36 致 谢 „„„„„„„„„„„„„„„„„„„„„„„„„„„37 前 言 目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。
2006年1月17日,中国互联网络信息中心(CNNIC)在京发布“第十七次中国互联网络发展状况统计报告”。报告显示,截至2005年12月31日,我国上网用户总数突破1亿,为1.11亿人,其中宽带上网人数达到6430万人。目前,我国网民数和宽带上网人数均位居世界第二。国家顶级域名CN注册量首次突破百万,达到109万,成为国内用户注册域名的首选,稳居亚洲第一。上网计算机数达到4950万台,网络国际出口带宽达到136106M,网站数达到69.4万个。IP地址总数达到7439万个,仅次于美国和日本,位居世界第三。
在互联网服务业务方面:电子邮件、搜索引擎、网上银行、在线交易、网络广告、网络新闻、网络游戏等服务业务仍然快速的发展着。 而本次毕业设计的任务是,构建一个电子商务网站,采用的主要技术是基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML。
JSP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势: 1. JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。
2. 高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
3. 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。 4.稳定性。
5.产品的多样性。 目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,JSP必将成为网站开发技术的首选。
一 网上购物系统概述 1.1 系统开发背景 1.1.1网上购物的发展
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。
网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。
1.2.1网上购物系统的现状
目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。
首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。
ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation 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系统实现的目标
现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。 1.3系统的开发意义
Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。 当今比较流行的网上购物系统国外有“淘宝()”,国内有“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。
设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。 二 网上购物系统分析
系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计 2.1网站的设计目标
本平台利用现在比较广泛的JSP+Oracle数据库的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。 2.2网站的可行性分析
随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:
(1)经济可行性:该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。 (2)技术可行性:JSP+Servlet的技术已经较为成熟。
(3)运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。
(4)法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。
通过以上的可行性分析,我将采用JSP+Servlet相结合的技术,运用Access数据库对网站进行建设。 2.3网站的深入调查
经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下: 1. 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。 2. 能够完成管理员对网站的商品资料(商品添加、商品审查)会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。
3. 能过电子商品的名称,电子商品的分类进行搜索。
4. 能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。
经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。 2.4网站设计的特点
我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。 2.5网站开发的设计思想
网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。
网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。
2.6系统设计的总体规则
无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有: 简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。 针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。 实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。
三 系统的开发技术及主要架构 3.1开发技术的选择 合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如下: 表3-1 asp/jsp/php比较表 技术名称 ASP JSP PHP 对数据库的支持 好 好 好 开发难易度 容易 容易 较难
使用平台 Windows9X/NT Windows/UNIX UNIX 安全性 不好 好 不好
对组件的支持 支持 支持 不支持
执行方式 解释执行 编译之后执行 解释执行 跨平台 不好 好 好
这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。
3.2系统的主要架构及开发模式
系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,j2ee规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。 3.2.1基于B/S的体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器
网上购物系统的主要功能及体系结构,重点讨论了系统数据准备、数据库的逻辑结构分析、各模块系统流程 各功能模块的关联和响应 ,JSP与后台数据库链接等关键技术。这些技术的实现,满足了系统的需要,优化了系统的性能。目前基于该模型的系统处于实验室阶段,还存在许多问题与不足,如安全性能还不完善,缺少必要的数据加密系统等,,这些功能与技术还需要加以提高和实现。
网上购物系统无论是在开发过程中,还是建成后的日常维护过程中,都需要进行严格的检测,以保证购物系统的服务质量。 随着网上购物系统技术的日趋成熟、网上购物的优势日趋明显,会有更多的人参与到网上购物的浪潮中来,人类
最终将迎接电子商务时代的来临。
第二篇:JSP网上教学辅助系统【开题报告】
一、 选题的依据及课题的意义:
软件工程借鉴了传统工程的原则和方法,目的是高效地开发高质量的软件,涉及到计算机科学、数学和管理科学。它旨在培养能从事计算机系统软件、应用软件的设计、研制和开发的高级工程技术人才。软件工程专业的实施性很强,此专业又必须和网络积极联系;学生在课堂上的知识不能很好的应用。在课堂之外不能很好和老师交流、不能迅速得获取到最新的专业知识和资讯。
随着现代信息技术的迅猛发展,网络技术在教育中的应用日益广泛和深入,特别是internet与校园网的接轨,为教育提供了丰富的资源,使网络教学真正成为现实,同时也为教育开辟了广阔的前景。
本课题就是针对软件工程在教学上的问题而开发的系统。基于此网上辅助教学可以实现教学信息资源共享,老师在网上组织最优秀的教材和教法,使学生很快在网上可以学到最新的知识,以及老师和学生之间的互动,包括作业的提交和修改等工作都可在此运行,从而提高教学效率。
二、国内外研究概况及发展趋势(含文献综述):
软件工程的研究和应用,以及我国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动。
随着internet应用的普及,网络教学已成为一种重要的教学手段和教学场所。然而,与传统教学相比,网络教学的质量保证体系却显得不够完善、健全。如何保证网络教学的质量,建立一个行之有效的网络教学评价模型,已成为网络教学研究的一个重要课题。时至2000年,教育部批准全国31所高校建立网络教育学院,但却没有制定出如何保证网络教育质量的相关政策。美国国家教育政策研究所(the institute for higher education policy)于2000年4月也发表了一份名为"在线教育质量:远程互联网教育成功应用的标准"的报告,然而,这些文章也仅仅是描述性的定义网络教学的评价指标,而对如何组织评价、如何获取定量数据、评价数据如何促进教学等方面则很少涉及。以后会逐渐地在这方面完善,提高其质量。 软件工程日益重要,在各高校正在开展网上教学;开发一个软件工程网上教学辅助系统对培养学生的实践能力有所帮助,对其教学得到全面化的发展。
三、研究内容及实验方案
1、研究内容: 开发一个基于B/S结构的软件工程网上教学辅助系统。本系统开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据的“一致性和完整性”。对于后者则要求应用程序具有“实时操作,使用方便,易于扩展”等特点。 研究内容主要有: (1)实现用户登录、搜索课件、查看课件、下载课件等操作。
(2)学生查看课程、提交作业、查看课件、提问和在线答题 (3)教师发布课件、批改作业、更新试卷、解答问题 (4)系统管理员登录、维护
2、研究的基本思路(实验方案): 通过前期对网上教学辅助系统的调研和综合分析后决定:
本系统将使用JSP和SQL SERVER分别作为WEB服务器和后台数据库。在运行系统时,JSP技术主要用在前台用户登录、查询、提交、评定等操作部分;SQL SERVER用在后台数据库的输入和输出。
四、目标、主要特色及工作进度 目标: 开发一个基于B/S结构的网上教学辅助系统,使得教学中学生和教师都能很好了解并运用网络教学来实现信息化的交流。 主要特色:
(1) 本系统是辅助教学软件,功能有教师备课、课件制作、网络化教学和学生提交作业、查看课件等。系统中的所有产品均操作简便,功能强大,可以广泛的应用于课件制作、多媒体教学、网络化教学与研究性学习等多种用途,是学校开展素质教育的最佳选择。 (2) 本系统支持用户扩展开发,以适应教学需求。 工作进度: (1) 资料查询及开题报告(02月26日——03月15日) (2) 设计、编程及调试(03月15日——05月25日)
(3) 撰写毕业论文(05月30日——06月10日) (4) 总结、准备毕业答辩(06月11日——06月22日)
五、参考文献
[1]. 沈兆阳,SQLServer2000与XML整合应用「M]. 清华大学出版社,2004,2 [2]. Heather Williamson,XML技术大全「M]. 机械工业出版社,2004,1 [3]. 沈兆阳,Java与XML 数据库整合应用「M]. 清华大学出版社,2000,1 [4]. 翁晚霞等,开发基于Web的远程教学系统的关键技术比较[M].计算机工程与应用,2000 [5]. 韩柯等译,Java面向对象编程指南「M].北京:电子工业出版社,2001 [6]. 程显华等译,JSP和Servle t程序设计使用专辑「M].机械工业出版社,2002 [7]. 徐国平,JSP网络开发实务「M].电子机械工业出版社,2001 [8]. 敬铮,Java数据库开发与专业应用「M].国防工业出版社,2002
第三篇:jsp+servlet+bean做的网上书店系统
*************************** BookShop电子书店 * ****************************** 以我现在的水平也只能分出这几个功能。如果以后我学的更多了,我会及时的给大家补充的。 那个写的可能还不够详细,嘿嘿,不懂的记得问我哦。
1 . 功能分析
> 网站首页index.jsp,index.jsp 向顾客展示出所有书籍的封面图片及图书名字。然后顾客通过点击图片连接到图书具体的信息页面bookshop.jsp,或者通过点击图书名字链接到 Bookshop.jsp页面。然后将所要购买的书放入购物车,然后跳到显示购买的所有图书的bookList.jsp页面。 2.代码结构:
1>数据库连接类(要实现从数据库里读取数据必须要有数据库连接类):
DBConnection.java
2>数据操作类(它用来实现对数据库中所有数据的操作,例如增、删、改、查): CURD.java
3>控制处理类(它主要用来处理业务,利用数据操作类处理来自jsp页面的数据,然后完成页面之间的跳转),就是所谓的servlet DoAllServlet.java
4>实体类(与数据库中的表一一对应,实体类的每一个属性就是表中的每一列)
BookInfo.java
3.
代码编写
数据库操作类:DBConnection.java public class DBConnection { private Connection con=null;
private static final String driver="com.mysql.jdbc.Driver"; private static final String
url="jdbc:mysql://localhost:3306/bookshop?useUnicode=true&characterEncoding=gbk"; //一行放不开,就占了两行
// ?useUnicode=true&characterEncoding=gbk,这句话是处理数据库乱码问题
private static final String user="root"; private static final String password="123456"; // 这句话下面的是构造方法,我把数据库连接语句放在里面初始化了,其实也可以放在 //具体的得到连接的方法中。
//所谓构造方法,就是与类名字相同,且没有返回类型的方法(例如void是无任何返回类型 //,String返回的是字符串类型的,等等,如int,boolean。记住只要是有返回类型必须return // 最后的结果)
public DBConnection(){
try {
Class.forName(driver);
con=DriverManager.getConnection(url,user,password); } catch (ClassNotFoundException e) {
System.out.println("数据库加载失败");
e.printStackTrace(); }catch(SQLException e){
System.out.println("连接数据库失败");
e.printStackTrace(); } } //得到数据库连接的方法
public Connection getConnection(){
return con;
//对于上面的返回类型问题,例如这个方法,Connection就是要返回的类型,所以必须return } public void close(){
//这个方法就是无返回类型的
try{
if(con!=null)
con.close();
}catch(SQLException e){
System.out.println("资源关闭失败");
e.printStackTrace();
} }
实体类:BookInfo.java public class BookInfo implements Serializable {
private String bookname;
private String author;
private float price;
private String publish;//出版社
private int publishId;//出版版次
private String publishtime;
private int stock;//库存
private String imageId;
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getPublish() {
return publish;
}
public void setPublish(String publish) {
this.publish = publish;
}
public int getPublishId() {
return publishId;
}
public void setPublishId(int publishId) {
this.publishId = publishId;
}
public String getPublishtime() {
return publishtime;
}
public void setPublishtime(String publishtime) {
this.publishtime = publishtime;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
public String getImageId() {
return imageId;
}
public void setImageId(String imageId) {
this.imageId = imageId;
}
}
数据操作类:CURD.java public class CURD.java{
//查询所有图书
public List findAllBooks() throws Exception {
sql="select * from bookinfo "; //查询语句
psmt=dbcon.getConnection().prepareStatement(sql); / /将sql语句放入链接中
rs=psmt.executeQuery();//执行sql语句
List booklist=new ArrayList();
//如果查询结果存在,则执行循环遍历封装所有结果
while(rs.next()){
BookInfo book=new BookInfo();
book.setImageId(rs.getString(1));
System.out.println(rs.getString(1));
book.setBookname(rs.getString(2));
book.setAuthor(rs.getString(3));
book.setPrice(rs.getFloat(4));
book.setPublish(rs.getString(5));
book.setPublishId(rs.getInt(6));
book.setPublishtime(rs.getString(7));
System.out.println("数据库中"+rs.getInt(8));
book.setStock(rs.getInt(8));
//将封装好的book键入列表中
booklist.add(book);
}
return booklist; } //按imageId查询图书
public BookInfo findByImageId(String imageId) throws Exception {
sql="select * from bookinfo where imageId=?";
psmt=dbcon.getConnection().prepareStatement(sql);
psmt.setString(1, imageId);
rs=psmt.executeQuery();
BookInfo book=null;
if(rs.next())
{
book=new BookInfo();
book.setImageId(rs.getString(1));
book.setBookname(rs.getString(2));
book.setAuthor(rs.getString(3));
book.setPrice(rs.getFloat(4));
book.setPublish(rs.getString(5));
book.setPublishId(rs.getInt(6));
book.setPublishtime(rs.getString(7));
book.setStock(rs.getInt(8));
}
return book; } }
控制处理类: DoAllServlet.java // 是bookshop.jsp到转到BookShopServle这来的
public class BookShopServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
// 1.获取jsp页面传递过来的参数
String imageId=request.getParameter("imageId");
//获取每一个进入网页的顾客的sessionId
String sessionId=request.getRequestedSessionId();
request.getSession().setAttribute("sessionId", sessionId);
//System.out.println(imageId);
RealizeCURD curd=new RealizeCURD();
BookInfo book=curd.findByImageId(imageId);
//System.out.println(book);
if(book!=null){
request.getSession(false).setAttribute("imageId", book);
request.getRequestDispatcher("bookshop.jsp").forward(request, response);
}else{
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
} } // 用session来存储购物车
public class UseSessionSaveBooksAction extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws Exception{
doPost(request, response); } public void doPost(HttpServletRequest request,HttpServletResponse response)
throws Exception{
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
int number=Integer.parseInt(request.getParameter("number"));
System.out.println("买的图书数量"+number);
if(!("".equals(number)))
{
BookInfo book=(BookInfo)request.getSession(false).getAttribute("imageId");
System.out.println("进入session存储"+book.getBookname());
//用imageId作为每一种图书的标识
String imageId=book.getImageId();
UseSessionSave uss=new UseSessionSave();
uss.setBook(book);
uss.setNumber(number);
//用sessionId来作为购物车的标识
String sessionId=request.getSession(false).getAttribute("sessionId").toString();
if(sessionId.equals(request.getRequestedSessionId()))//判断是否为同一个顾客
{
Map chart=(Map)request.getSession(false).getAttribute(sessionId);
if(chart==null){
Map chart1=new HashMap();
//chart1.put(imageId, uss);//以每一种书的图片编号为唯一区分放入购物车的图书
request.getSession().setAttribute(sessionId, chart1);
}else{
//判断购物车中是否已存在键为imageId的书
if((UseSessionSave)chart.get(imageId)==null)
{
chart.put(imageId,uss);
}
else{
uss.setNumber(chart.get(imageId).getNumber()+number);
request.getSession().setAttribute(sessionId, chart);
}
}
request.getRequestDispatcher("bookList.jsp").forward(request, response);
}else{
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
} }
JSP页面代码 Index.jsp首页
<%@ page language="java" import="java.util.*" pageEncoding="gbk" %> <%@ page import="java.lang.*,com.bzu.entity.*,com.bzu.dao.*"%>
独家特供
第四篇:网上购物系统
第五篇:网上商城购物系统 需求说明书
需求说明书
1.引言
1.1编写的目的
需求分析是软件定义时期的最后阶段,它的基本任务是准确地回答“系统必须做什么?”
这个问题。因此,它是作为真个软件开发过程的指南,也是软件开发人员开发符合用户要求
的软件的基础。软件需求规格说明书是需求分析阶段得出的最主要的文档,是为了使用户和
软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。预
期的读者为系统的开发者、使用者和指导老师。
1.2背景
说明:
(1)开发软件系统的名称:网上商城购物系统;
(2)任务提出者:XX;
(3)开发者:计算机科学与技术的小组成员xx;
(4)用户:XX;
(5)本系统将使用SQLServer2000作为数据库存储系统。
1.3定义
(1)Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝
大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过
这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交
换);
(2)ADO:ActiveX Data Object, ActiveX 数据对象;
(3)SQL:Structured Query Language。
1.4参考资料
1、《ASP程序设计及应用》 张景峰主编第011903号中国水利水电出版社2009.1
2、《数据库原理及其教程(第三版)》 黄德才主编第088716号科学出版社 2010.6
3、《ASP+SQL Server动态网站开发从基础到实践》杨世锡,赵辉编著第377507号
电子工业出版社 200
54、《ASP+SQL Server项目开发实践》黄雷编著第38854号中国铁道出版社2006
5、《Dreamweaver 8与ASP动态网站开发自学导航》 戎马工作室编著第298301号机
械工业出版社 2006
6、《ASP实务经典》 林金霖编著 [M].北京:中国铁道出版社,2001,209
7、《ASP编程基础与实例》丁贵广编著 [M].北京:机械工业出版社,2002,51
8、张海藩. 软件工程导论. 北京:清华大学出版社,2005.
2.任务概述
2.1目标
在Internet技术深入人心的今天,电子商务最为一种新兴的商务模式,为世界经济提
出了一个全新的概念,使得人类生活方式发生了重大的变革。网上购物是在互联网开放的网
络的环境下,基于浏览器/服务器(Browse/Server)应用方式,实现消费者的网上购物、商户
之间的网上交易和在线电子支付的一种新型的商业运营销售模式。网上购物分为企业对企业
(B2B)、企业对客户(B2C)、客户对客户(C2C),为任意一种商品带来了最直接的沟通
与运转渠道。采购商和消费者能通过互联网了解企业及产品,生产商与采购商能够快速地组
成的产品的周转渠道。
本文所研究的网上购物商城系统,旨在通过电子商务来使得人们购物变得更加方便。
2.2用户的特点
本软件的最终用户是系统的开发工作人员和指导老师侯睿;本系统面向具有网站管理
经验的网站维护人员,要求熟练操作计算机,了解管理网站的相关信息
2.3假定和约束
1)本系统的开发到结束时间只有15周时间,务必在指定的时间之内完成所有的设计、编
码、测试等工作。
(2)本系统的开发时间紧迫,撰写的文档较多,小组成员要合理分配任务并且要按时完成
自己的任务,有不明白的地方,一定要小组及时讨论。
3.需求规定
3.1对功能的规定
A、客户功能
(1)浏览商品信息:任何用户都可以浏览商品信息,课通过商品分类信息查找或者通过
搜索栏直接模糊搜索查找相关商品。如有意购买这就必须先注册填写个人信息,然后登陆。
(2)注册:用户必须认真填写个人信息以确保信息正确无误。
(3)登录:登录后的用户可以查看和修改自己的信息。
(4)购物:登录后的用户可以购买自己感兴趣的图书,先加入购物车,然后确定订单。
B、管理员功能
(1)管理员注册:管理员注册直接通过数据库用户添加。
(2)管理员登录:若数据库的管理员信息表中存在此用户、密码正确,此时系统就转入
后台管理界面。
(3)管理员登录后可进行注册用户信息进行查询和对自己的信息进行增删改操作,主要
负责保持数据库中商品存量与实际库存量保持一致,商品来两不够时采取相应措施。另外还
要负责数据库的各种安全性和完整性维护。
3.2 对性能的规定
3.2.1精度
(1)在执行数据增加(例如向数据库增加新的任务)的时候,不允许出现因为程序的原因
导致增加操作失败,也不允许发生重复增加的数据。
(2)在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据、删除失败的情
况。
(3)数据的修改也要保持对应的准确性。
3.2.2时间特性要求
(1)系统的更新处理时间应该在可接受的范围内;
(2)系统的数据查询时间应该在可接受的范围内;
(3)系统的数据统计时间应该在可接受的范围内。
3.2.3灵活性
(1)操作方式上应该能够满足鼠标和键盘任意切换的需要;
(2)能够支持Windows9
5、Windows9
8、Windows2000、Windows Me和Windows XP的运
行环境;
3.3输入输出要求
(1)输入项:系统要求的用户注册信息、用户名、密码、商品搜索窗口、订单信息。
(2)输出项:注册页面、登陆界面、商品分类信息、商品查询信息、订单确认信息。
3.4数据管理能力要求(针对软件系统)
由于企业对人员的历史资料进行永久保存,再加上企业调进或调出人员频繁,因此对数据的存储有一定的要求;要求提供数据的备份功能。
3.5故障处理要求
(1) 在用户输入一些不合理的数据时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统的错误,或者程序停止运行;
(2)程序运行时,对服务器和网络通信的故障能够识别并提示,当故障排除后,程序恢复正常运行;
(3)数据库要求有灾难备份机制,以防止数据的全部丢失。
3.6其他专门要求
(1)本系统是涉及到买卖双方的交易,因此系统要保证数据的一致性,完整性,准确性的要求要达到99%左右;
(2)本系统是提供给需要建立自己的网上商城的中小企业和网络用户使用,要求操作界面简单方便;
(3)由于本系统是基于Internet网络的,因此安全保密性要更高。
4.运行环境规定
4.1设备
运行本软件要iquchuliqi在奔腾III以上、内存在256MB以上的计算机。
4.2支持软件
(1)本系统只是的操作系统包括:Windows9
5、Windows9
8、Windows2000、Windows Me和Windows XP。
(2)本系统支持的数据库:SQL Server 2000。
(3)本系统的开发工具:ASP。
4.3接口
不适用。
4.4控制
本系统通过“用户验证”模块进行用户登录的控制,根据不同用户的权限调用不同的模块。