搜档网
当前位置:搜档网 › 毕业论文初稿

毕业论文初稿

天津工业大学

毕业设计(论文)

基于JSP/Servlet的易购网上图书销售系统

姓名尹文伯

学院计算机科学与软件

专业软件工程

指导教师张怀亮亢保元

职称工程师教授

2012年6月13日

天津工业大学毕业设计(论文)任务书

院长教研室主任指导教师

毕业设计(论文)开题报告表

2012年3月5日

天津工业大学本科毕业设计(论文)评阅表

(论文类)

天津工业大学毕业设计(论文)成绩考核表

21世纪是网络经济时代,计算机和网络技术的飞速发展,对传统的商品交易形式和流通方式产生了极大地影响。随着人们对信息的获取方式和获取途径的改变,对传统的书店的销售和管理模式带来挑战,建立相应的网上书店显得尤其必要。

网上图书销售系统使用Jsp和Servlet技术、采用Mysql做系统后台数据库。论文首先阐述了国内外网上书店的发展与现状,在对网上书店进行综合分析的基础上,结合系统开发技术,明确了系统需求,并在此基础上对系统进行了详细的规划设计,确定了系统所具有的前台管理和后台管理两大基本功能模块的功能,主要包括用户登陆、图书查询、查看购物车、订单信息等,论文对每个功能模块的实现进行了详细的阐述,并介绍了对系统进行测试的情况。

系统经测试和试运行后基本达到设计要求,系统的图书查找功能和管理员管理图书功能,将为书店的销售和管理带来极大的方便。

关键词:网上书店;Servlet;购物车

In the internet times as the 21st century, the development at full speed of the network technology,has influenced the traditional trade way and circulation style in commercial trade greatly. With the constant enlargement of the business, the scales of some bookstores are expanding continually, and they need to set up some corresponding online bookstores urgently.

This system was based on Jsp and Servlet Web application technology, utilizing Mysql as database. Dreamweaver was used for developing pages. In this thesis firstly explained the development and current situation of the domestic and international online bookstores. And then based on the investigation and analysis to the market of online bookstores, integrating with the exploitation technology of the system, it confirmed the demand analyse of the system and made a detailed scheme design .It confirmed two basic function modules:foreground management and background management.It includes several function module like user login in,inq uiring of the Books, looking over the shopping cart, ordering for goods information and so on. Then, the author introduced outline design ,detailed design of the system and function test of system.

This system could meet the basic design demand more or less after the test and trial operation .It will be more convenient for the administrator to keep control of books ,searching book function, selling book function.

Key wo rds:Online Bookstore;Servlet;Shopping Cart;

目录

第一章绪论 (1)

1.1 系统开发背景 (1)

1.1.1网上书店的发展 (1)

1.1.2网上图书销售系统的研究现状 (2)

1.2系统实现的目标及开发意义 (3)

第二章相关技术介绍 (4)

2.1 JSP动态网站开发技术简介 (4)

2.2 系统的主要架构及开发模式 (4)

2.2.1 基于B/S的体系结构 (5)

2.2.2 基于MVC的应用开发模型 (5)

2.2.3 Servlet控制器 (6)

2.3 MySQL数据库的介绍 (10)

第三章系统需求分析 (12)

3.1市场需求可行性 (12)

3.2功能需求分析 (12)

3.2.1前台 (12)

3.2.2后台管理模块 (12)

3.3 业务流程分析 (14)

3.4系统设计的总体规则 (14)

第四章系统设计 (15)

4.1 系统模块设计 (15)

4.2 数据库设计 (15)

4.2.1数据库需求分析 (16)

4.2.2数据库结构设计 (16)

第五章系统的具体实现 (19)

5.1 创建工程 (19)

5.2功能页面结构及实现 (19)

5.2.1注册登录 (19)

5.2.2查看书籍 (23)

5.2.3购物车 (24)

5.2.4订单 (25)

5.2.5后台书籍管理 (28)

5.2.6 用户管理 (29)

5.2.7 公告管理 (31)

5.2.8 留言板管理 (33)

第六章系统测试及分析 (35)

6.1系统运行环境的搭建 (35)

6.1.1 JAVA虚拟机的安装 (35)

6.1.2 Tomcat环境搭建 (35)

6.2 系统程序的安装和加载 (35)

6.2.1 Myeclipse开发工具 (35)

6.2.2数据库的连接 (36)

6.3系统测试 (36)

6.3.1 单元测试 (36)

6.3.2集成测试 (36)

6.3.3系统测试 (37)

6.3.4确认测试 (37)

6.4对软件功能测试的结论 (37)

结论 (38)

参考文献 (52)

附录文献翻译 (53)

Ⅰ英文原文 (53)

Ⅱ中文译文 (57)

谢辞 (61)

第一章绪论

电子商务是在Internet上进行的商务活动,即利用计算机网络进行产品、服务、信息等的买卖活动。电子商务作为一种独立的经济形态,已初具规模,一些电子商务网站的成功给人们的生活带来了巨大的影响。网络技术发展到今天,Web数据库技术已经成为应用最为广泛的网站架构基础技术。而JSP、MYSQL 两者的结合,为Web数据库技术提供了很好的实现体系。

正是在这些因素的支持下网上书店才得以更好的发展,网上书店系统具有分类检索搜索、购物车、订单提交和查询等网上书店所需的功能,还具备灵活的网站内容维护功能和会员功能,适合建立各种网上书店。

1.1 系统开发背景

1.1.1网上书店的发展

国外最早的电子商务体验其实是从网上售书开始的。1994年7月,美国考夫·贝佐斯在西雅图开设了全球第一家网上书店——亚马逊书店,而且取得了巨大的成功。随着亚马逊成功的示范效应,网上售书在世界范围内很快形成了一股汹涌之潮,尤其是西欧、北美等发达国家。甚至在传统发行体系颇为完善的德国,也同样刮起了网上售书的旋风。

在亚马逊书店,读者找到自己所需要的图书后,可立即发出购书信息,一小时之内就可收到所购图书。而每当打开网上书店的网页,各种打折、让利的广告总是让你不仅心动而且马上行动。比如亚马逊书店对《纽约时报》评选的畅销书以40%至50%的价格出售。价格武器也是网上书店对传统书店的核心优势所在。

此外,通过计算机存贮的资料,网上书店毫不费力地建立起自己庞大的全球化读者信息库,对客户需求和产品行情的预测也就更准确。从而有效地降低库存,减少资金占用。此外,网上虚拟书店,业务环节大为简化,能节约费用开支,降低销售成本。

2000年左右,中国也引入了网上书店这种B2C的电子商务模式。有以卓越网和当当网为代表的直接建立在因特网上的虚拟书店,其中卓越定位于精品图书的销售,当当网则是追随亚马逊模式的多品种销售的代表;还有一类是出于竞争或仿效也加入网上书店行列的一些老牌图书销售商,如新华书店。

当当是中国最早学习亚马逊的互联网公司,实行全品种备货,面向全世界中文读者提供30多万种中文图书,占中国大陆可供书市场的90%。低价与规模成为当当网最为看重的两大法宝。在价格上,实施沃尔玛式的“天天低价”策略,并开发出一套智能比价系统,通过与同类竞品价格扫描对比后自动调价。

卓越网自成立之初就确立了专注在图书音像产品领域,坚持“精选品种、全场库存、快捷配送”的卓越模式。这一模式的优势是,在动用较少的资金和资源下,能相对保证产品质量和服务,在管理执行上的效率较高,但不利于扩张。亚马逊在2004年9月斥资约7500万美元收购了卓越网,开始把卓越全面亚马逊化的“还魂与再造”,向“做大而精”转型。

但无论是当当网还是卓越网,在中国要复制亚马逊模式,就意味着要接受库存、配送、销售和管理成本的考量。此外,更大的难度还在于,目前中国图书音像业供应链并不成熟,要做到像亚马逊那样既要零库存又要配送及时实在是不可能完成的任务。历时7年之后,虽然已经把实体书店冲击得七零八落,但是当当网和卓越网自己仍没有实现盈利,未来如何实现规模与利润的平衡将是他们一个长期的难题。

1.1.2网上图书销售系统的研究现状

国际上书店前景看好,至少在1997年,国外网上书店己达两百家以上。而在国内,自从杭州新华书店创办第一家网上书店后,网上书店如雨后春笋般涌现出来。其中最为有名的莫过于1999年1月1日开通的上海书城网上书店和3月9日正式营业的北京图书大厦网上书店,还有2004年7月15日由沈阳市北方图书城开通的中国内地品种最全的网上书店。现在,到底有多少家中文图书的网上书店,恐怕很难统计完整。数据之多,多少也能看出国内网上书店竞争的激烈性。据统计,2004年我国网民己达8700万,其中87.7%的网民曾体验过网上购物。在有实际购买行为的网民中,有57.6%的网民购买的是图书,有26.4%的购买的是音像制品,这充分说明以网上书店为代表的出版物在线销售面临着良好的发展机遇。出版物网上销售有诸多优点:24小时服务、送货上门、无店铺销售、搜索查询数据库等优点,弥补了传统出版发行业的不足,更为广大农村、偏远地区的老百姓提供了方便。随着人们购物观念、购物习惯的改变以及网上购物质量、信誉的提升,出版物在线销售将有更大市场空间。出版物网上销售不仅是传统销售模式的发展和补充,也是未来的发展方向。但应该看到,目前我国网上书店的实力、规模与外国同行还有很大差距:2003年,美国亚马逊网上书店的销售额是60亿美元,而中国的卓越、当当和贝塔斯曼二家网上书店的销售总额只有3亿人民币。这也说明中国开展网上书店业务具有非常大的市场弹性空间。网上书店前景虽好,但市场还急需大力培育。虽然近年来我国在网络基础设施方面有了很大发展,但同发达国家相比,仍比较落后,另外还存在银行结算体制及产品质量、售后服务等方面的制约,使得现在大多数的网上书店还只是网上浏览,网下交易。据2005年1月CNNIC第15次报告说,网民认为目前网上交易存在的最大问题是:安全性得不到保障的占34.3%,认为产品质量、售后服务及厂商信用得不到保障

的占42.4%。现阶段由于中国在支付手段、配送体系等方面还不尽完善,造成网上交易还不尽如人意。

1.2系统实现的目标及开发意义

当代社会,人们已经深深的领略到信息革命第二次浪潮的冲击。现在信息技术突破了单位性和地域性的局限,实现了网络和全球化,以英特网为代表的现代信息网络正在以每月15%的速度急剧增长,其应用范围也开始从单纯的通讯。教育和信息查询向更具效益的商业领域扩张。这一趋势告诉人们,电子商务在信息技术的强有力的推动下,已经叩响了人类的大门。计算机的全球联网,形成了与地域、空间无关的时间一体化市场,一种新的,基于计算机网络的新型商业机制正在逐步形成,这是处于激烈竞争环境中的各国政府、制造商、销售商及有关研究部门所不能回避的现实,在已经迈入21世纪的今天,认识电子商务、了解电子商务、进而参与电子商务,是每一位消费者都不得不认真对待的一项新任务。

随着现代信息技术的迅猛发展,本系统在电子商务技术的应用使得企业或个人通过电子商务技术进行图书的网上购买,新用户注册、用户登陆、商品分类、查询商品、购物车和订单等基本功能。通过开发在线电子书店系统,改变了传统购书方式,充分利用了现代化的各种高科技手段,方便、快捷满足人们的需要。

第二章相关技术介绍

合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择好相关技术和工具。本网站运用比较流行的动态网页开发技术JSP、Servlet等,数据库运用MySql,下面我们进行简要介绍。

2.1 JSP动态网站开发技术简介

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea 公司等,所以JSP迅速成为商业应用的服务器端语言。

JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。

2.2 系统的主要架构及开发模式

系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,B/S基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的浏览器即可访问系统,方便快捷而且利于系统的更新和维护,Java语言在这方面有很大的优势,J2EE规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。

2.2.1 基于B/S的体系结构

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图2-1所示。

图2-1 B/S三层架构示意图

这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

2.2.2 基于MVC的应用开发模型

在本网上图书销售系统中,将采用通行的MVC模式来构建应用。MVC 模型把一个应用的输入、处理、输出流程按照模型(model)、视图(view)和控制器(controller)的方式进行分离,形成模型层、视图层、控制层三个层次,这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端

J2EE应用服务器实现MVC开发模型。MVC的逻辑图如图2-2所示:

图2-2 应用服务器之上采用MVC开发的逻辑示意图

2.2.3Servlet控制器

在本项目的开发过程中最为核心的技术应用就是Servlet的运用。Servlet

是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务

器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java

虚拟机。

1.Servlet的优点

(1)方便

Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。

(2)功能强大

在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。

Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

(3)可移植性好

Servlet用Java编写,Servlet API具有完善的标准。因此,为IPlanet Enterprise Server写的Servlet无需任何实质上的改动即可移植到Apachee、Microsoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。

(4)节省投资

不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。

2.Servlet的生命周期

加载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。

Server创建一个Servlet的实例

Server调用Servlet的init()方法

一个客户端的请求到达Server

Server创建一个请求对象

Server创建一个响应对象

Server激活Servlet的service()方法,传递请求和响应对象作为参数

service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息

service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法。

对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次(只有一个对象),当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet 的Destroy()方法。Servlet的生命周期图如下2-3所示

Servlet的生命周期图如下2-3所示

3.Servlet的编程接口

(1) init() 方法

在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入Servlet 时执行的。可以配置服务器,以在启动服务器或客户机首次访问Servlet 时装入 Servlet。无论有多少客户机访问 Servlet,都不会重复执行init() 。

(2) service() 方法

service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。在HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如,如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。

Servlet的响应可以是下列几种类型:

一个输出流,浏览器根据它的内容类型(如text/HTML)进行解释。

一个HTTP错误响应, 重定向到另一个URL、servlet、JSP。

(3)doGet()方法

当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。

(4)doPost()方法

当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。

(5) destroy() 方法

destroy() 方法仅执行一次,即在服务器停止且卸装Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。

当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个Servlet 在运行service() 方法时可能会产生其它的线程,因此请确认在调用 destroy() 方法时,这些线程已终止或完成。

(6) GetServletConfig()方法

GetServletConfig()方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和ServletContext。ServletContext 接口提供有关servlet 的环境信息。

(7) GetServletInfo()方法

GetServletInfo()方法是一个可选的方法,它提供有关servlet 的信息,如作者、版本、版权。

当服务器调用sevlet 的Service()、doGet()和doPost()这三个方法时,均需要 "请求"和"响应"对象作为参数。"请求"对象提供有关请求的信息,而"响应"对象提供了一个将响应信息返回给浏览器的一个通信途径。

javax.servlet 软件包中的相关类为ServletResponse和ServletRequest,而javax.servlet.http 软件包中的相关类为HttpServletRequest 和HttpServletResponse。Servlet 通过这些对象与服务器通信并最终与客户机通信。Servlet 能通过调用"请求"对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。Servlet 可以调用"响应"对象的方法发送响应,该响应是准备发回客户机的。

4.Servlet的工作模式

相关主题