基于JSP的网上购书系统
在当今的社会中, 随着社会经济的快速发展以及计算机网络技术和通讯技术的快速成长,网络应用领域也一天天扩大,网络中的新鲜事物层出不穷。电子商务的发展增加了许多商业交易的平台,借助于这种互联网平台,人们进行商品宣传、业务交易等多种行为,进而使得电子商务快速发展,成为当今社会迅速成长的主流之一,电子商务在我们日常生活中扮演着越来越重要的角色。
在网络如此发达的潮流中,顺应趋势,设计了基于JSP的网上购书系统这个销售平台,让用户可以更直观、便捷,足不出户即可在虚拟书店里购书。本网站页面主要用JSP实现,业务逻辑层用SSH框架(Hibernate+Struts+Spring)及Java代码实现,数据管理用MySQL数据库,开发工具使用Eclipse,服务器用Tomcat8最新版本。本系统针对管理员和普通两类用户设置了不同的功能。管理员功能包括:图书信息管理、图书类别管理、订单管理、用户信息管理;普通用户功能包括:注册信息、浏览书店信息、浏览图书信息、搜索图书、在线生成订单等功能。该系统用户界面友好,模块划分清晰,具有使用方便,安全稳定,维护简单等特点。
关键词:网上购书;Java;JSP;MySQL
目 录
1 前言
1.1 概述
当今人类社会的生活方式因为互联网的蓬勃发展而发生了质的变化,网络给人们带来了足不出户即可了解新鲜事物和获得自己想要的东西的便利,所以正是需求推动社会发展,在虚拟网络中买卖交易商品,人们越来越来喜欢这种网上购物方式。
互联网行业刚兴起才露出其新面容是上世纪90年代,国内也发展起来了几大互联网企业,一些商业人士也就泛起了通过网络进行交易买卖图书的别人没想过的主意。但是在互联网初期还存在一些问题,比如企业的信誉不是一时半会能建立起来的、不完善的国家对于的网络的政策、当时不发达的物流等一连串的原因致使网上交易生意发展的步伐有所迟缓。新世纪以来,整个社会成长进步了不少,影响网上业务买卖的各大问题被消灭,越来越多的企业看出互联网势不可挡,互联网的队伍日益壮大[6]。
小时候购买图书都是现场商家与消费者面对面销售,卖书的地点对于大部分商家来说都是固定的,客流量也是固定的,并且图书种类偏向固定,这样导致利润上涨缓慢,甚至不盈利。
从商家角度来看,当打点店铺的职工想查找哪一类图书销量大需要进货时,要根据每一天的销量情况来决定。当然用数据说话更准确,例如用库房的电脑查看销售图书数量以及类别,这样就很繁琐。从买家为出发点的话,想要购买书籍还要先去图书馆查看是否有心中所想的那本书及价钱,要想比较不同书店同一本书的价格还要跑到另一家去让工作人员手工查找,很费时间及人力。随着社会发展,网店的出现,机械以精准、快速而远超过手工运转的大优势替代手工,工作职员再也不用手工查书了,更方便的是其可在电脑上输入书名就能快速出现结果;消费者也可以通过在同一个平台的不同页面查询自己需要的书籍及单价,还能同时登陆不同的平台来进行比较不同商家的同一件商品,很大水平上节省了人们的时间,因此网上购书既节约时间又不耗费人力、不必要的费用,让卖家和买家间的沟通矛盾有效减少了。
1.2 整体叙述
本论文所包括的主要内容章节整体信息如下:
- 可行性分析
本系统的分析主要从技术方面着手,判断可完成的功能,再从经济角度出发,得出系统开发的成本和硬件条件以及最后系统的部署环境、运行成本等,以上都可行后说明该系统的是有必要开发的[6]。
2、系统分析
当今社会互联网的飞快发展,社会主流网络购物已经深入众多消费者人心,因此,
为了让消费者的买书需求得到满足让人们的生活水平提高,也是为更好的社会发展,让消费者买书更方便快捷,就此,尝试开发一个小型网上购书系统来满足众多消费者。目前,也有很好的购书网站,比如淘宝网、亚马逊、当当网等平台被人们所熟知,本小型平台在借鉴他人劳动成果的基础上锻炼自己的技术水平。每个软件项目在正式开发前都要研究分析其是否可行,意义在于预防开发中未预料到的问题的出现。
3、系统总体设计
(1)浏览器/服务端模式是本系统总体开发的模式,该模式有以下好处:
(a)层次清晰分明的前台、后台逻辑处理关系,符合很多已经对于网络搜索熟悉习惯的消费者;
(b)使用面向对象理念设计和开发概念、使用模块化方式设计。模块化设计就是将所有功能都分解开来,分成若干个子功能模块,这样简化系统设计实现,让重复的代码能将其单独作为一个类或方法,实现代码重载,不仅让开发更简单,而且提高了代码维护性。系统开发不仅要实现功能,而且要考虑系统可靠性,既满足设计要求又可以在此基础上进行改进扩展,更能适应社会发展满足人们需求。
(2)数据库设计:使用MySQL,本系统后台程序使用Struts+Spring+hibernate即SSH框架,在Spring的配置文件中配置数据库相关信息。
4、系统详细设计与实现
系统详细设计要完成的是各模块代码的编写(包括前端网站各页面和后台管理系统),用户交互界面的设计等内容。
系统前台模块包括用户进入网站首页、查看图书和网站虚拟书店的信息,注册信息、登录网站、加入购物车和下订单等内容;系统后台管理模块分为管理层用户登录后台、添加图书类别、更新图书信息等内容;用户交互界面的设计包括一般用户登录模块界面的设计和后台管理界面的设计。
该网上购书系统的界面简单大方,方便各年龄阶段的消费者使用,有着友好和错误的提示操作。系统管理者功能有:更新书籍信息、对书籍分类、对订单标记已处理、添加用户、管理系统等。普通用户可以查看图书信息,图书分类查询,生成购买书籍订单,修改个人的基本信息等功能。保障性大,避免了人为的破坏性行为。
5、系统测试
每个系统开发中都会有或多或少的bug,系统检测的目的是极大多数的检查出软件中出现的问题,增强程序的可靠性。这个过程又分为3个步骤:模块、接口、验收测试。
在系统初步形成时,为了看到自己开发的成果,一开始用于检测的信息都是随意输入,单纯地为了测试,用户信息也不是真的。但是到后来,要检验系统的可靠性使用了较真实的测试信息,并清除了假数据。
在通过不断的测试消灭各种bug,才能让系统放心运作起来。
6、系统运行和维护
系统开发测试完毕后就要投入使用了,确保系统能正常运行非常重要,社会不断发展人们的需求也在不断变化,这就要求系统维护人员能及时发现系统问题并向上级反映对系统改进。
2 系统开发背景
2.1 课题的背景
自从进入互联网时代以来,网络以其前所未有的速度改变着人们的生活方式,改变着人们的价值观念。如果说这是一次经济革命,它比工业革命所带来的影响价值更深入彻底得多,它将传统经济推向了无形的虚拟空间。地球村即真是地体现了经济全球化的趋势。网络经济模式以迅猛势头席卷我们生活的各个领域:随着电子商务的日益成熟,网上购书应运而生,并以其方便、快捷等一系列优点冲击着我们传统的图书发行产业,这既是机遇又是挑战。网络时代的今天,谁能更好的利用好这柄双刃剑必将成为威力啊图书出版发行业新的主宰者。我过由于网络技术起步较晚,电子商务体系还不很完善,与欧美等国有一定的差距。[3]
网上购书是电子商务网站的一种类型。网上购书是近年来随着网络技术的发展而产生的一种新型的书店形式。随着网络的发展,电子商务的不断完善,卖书商家越来越强烈地意识到网络带来的巨大商机,几乎都进行图书的线上销售经营活动,不管对于商家网上销售还是对于消费者网上购书都是种新型的销售和购书模式,并很受欢迎。
2.2 课题的研究现状
随着我国经济的发展,电子商务在企业的日常生活中将会发挥越来越多的作用,尤其在金融、政府、事业单位方面电子商务更是可以发挥其竞争优势。网上购书系统的研究主要是从信息流、资金流等角度进行研究。
李大星认为,最具代表性的网上购书系统首推亚马逊网站。用户访问该网站首页,利用电脑检索图书,物色到自己喜欢的书。通过键盘向该网站订购,美国本土的购书人大概两三天内便可收到。其主页推荐的书目每日更换,提供最新书目和相关信息。客户如向网站提供自己的个人信息,网上购书系统会定期向你传递有关的书目信息及相关著作,形成个性化服务。
张志强根据中国互联网络发展状况统计报告对国内网上图书销售的优势、存在问题等进行了分析。它认为长远角度看,国内网上图书销售具有消费主体、消费习惯、需求等优势,但也存在着交易安全性、图书质量、支付手段等问题。他建议网上销售图书要重视信誉,树立品牌;增加技术含量,提高服务质量;恰当运用网上广告等扩大影响。由于我国电子商务的概念并未深入人心、信息服务不完善、安全保障等问题令人担忧。这些问题既严重阻碍了我国网上图书购买的发展,也妨碍了我国的信息化进程。网上购书面临的这些问题有待解决。[3]
2.3 课题的研究意义
近年来,随着计算机的普遍推广,电子商务得以快速发展,网上购书不仅成为一种时尚,也成为人们学习必做的功课。网上购书系统运用计算机技术将卖家、买家、厂商等紧密地结合在一起,大大弥补了过去时间和空间带来的障碍,从而帮助人们节约了成本,扩大了营销市场,同时通过此次项目的开展,我可以更进一步了解项目开发的一般流程,深化对基于B/S模式下开发项目的了解,进一步了解和掌握Web开发技术。
基于JSP的网上购书系统是在当今网上购物风靡一时的情况下根据老师的指导和建议得出的课题,重点在于检验学生知识的运用能力和实际操作能力。随着时间的推移,电子商务得到快速发展同时人们的生活节奏也越来越快,更多的人追求速度和效率,实物店购买图书难以满足人们的要求,因此网上购物成为人们必要的选择。网上购书系统包括:查看图书信息、增加图书信息、删除图书信息、用户注册、订单处理、后台管理等工作。
3 系统分析
3.1 系统开发目的与意义
该系统作为基于网络平台的书籍交易系统,跟以前旧销售方式比较,主要优点有:
1、检索便捷
网上购书提供了比较多的检索途径,比如可以根据分类查找、根据价格查找、根据是否是特价商品或根据图书的作者等多种途径进行检索,方便、快速、准确。
2、信息量大
与以前在某个地点卖书的旧形式不同,老形式销售老板带的书数量有限,种类不会那么齐全,而该系统基于网络不受时间、地点的限制,遍及世界各地,这也就极大限度地扩大了出版物的发行范围。
3、成本低,无区域限定
网上购书最大的优势是消费者可于任何时间、地点购买心仪的书籍,增多了消费者群体,提高了商家竞争力,更节约了开实体店所需投入的资本(人力、生产力以及物力)和租赁钱财。
基于以上网上购书的优点,网上购书才能得以在短时间内迅速发展起来。其目的与意义就是为了让人们更方便购书,更快乐地享受生活。
3.2 可行性分析
任何一个系统的开发,都有时间和资源上一定的限制。所以每一个项目在开发之前,对其进行可行性分析是必不可少的,这样才能降低项目开发过程中的风险,较少及避免财力、物力、人力的浪费。以下在技术、操作、经济还有法律4个方面进行可行性分析的阐述。
3.2.1 技术可行性
该软件系统使用我们学过的开发工具Eclipse开发,用具有性能高、跨平台、代码可重载的Java编程语言编码,数据库使用开源软件MySQL。而且对于ssh框架这些都有所学习, ssh框架有良好的可扩展性和可维护性,提高了对象管理方法,因此对我而言,在技术上实现该系统是行得通的。
图3.1 系统工作原理图
3.2.2 经济可行性
由于本系统是毕业设计课题这一特殊性,通过使用含有标准配置的电脑,下载JDK以及开发所需要的jar包即可进行开发,由于该系统中使用的软件是开源的,这就节省了开发系统节所需的大部分的资金和时间,实现了更低的开发成本,提高了系统开发的效率。
3.2.3 操作可行性
本系统操作简单,页面框架基本上使用统一风格,且页面简单,可根据需要和文字提示即可完成图书的搜索和购买,很容易上手操作,学起来是比较简单的,对操作人员的要求条件不高,只需要熟练操作Windows操作系统,另外再对系统运行的操作稍加训练即可,而系统的可视性很好,所以不会很难使用。
3.2.4 法律可行性
本网上购书系统是一个自主开发的购书系统,是一个对大部分消费者来说很实用的系统,开发环境工具和数据库的操作都有开源的代码,该系统的开发与普通软件系统的开发有不同的地方,在法律上没有任何侵犯,是可行的。
3.2.5 管理可行性
系统设计目标应该放长远,让此系统的开发具有良好的扩展性,不会因企业的变动而随之淘汰。
具体实施体现为以下几点:
(1)标准性:一保证系统运行质量,二在此标准技术上有所进步。
(2)可靠性:系统的软硬件质量必须保证。
(3)安全性:控制用户接触数据的权限。确保用户只可操作对应的数据。
(4)高效性:数据库的大小影响浏览器的响应。
(5)可维护性:系统设计分成几个模块来设计,这样既能减少工作人员工作量,又能便于开发及维护。
3.3 需求分析
3.3.1 功能需求分析
1、该系统所具有的功能需求有:
- 前台网站:
a、一般游客:浏览书店简介、浏览图书信息、搜索图书、根据分类 查寻图书、注册信息等功能;
b、在线用户:包含上边普通游客所有功能,登陆网站、添加书籍到购物车、管理已购买书籍订单等功能。
- 后台管理:管理员可管理图书、设置是否是促销或最新图书;工作人员可以查看、增添用户;管理图书种类,包含查看所有分类、增添书籍类型;管理订单包括查看所有用户订单、标记订单是否已处理、查看详情、删除等功能。
3.3.2 数据逻辑分析
在网站系统页面,若注册信息,用户填写的信息会提交到UserAction类,判断用户名和密码是否正确从而调用service层,service层调用dao层添加用户信息,以此类推,各种数据只要和数据库打交道那就需要经过action类,在对应action类中进行逻辑处理,跳转到相应页面,需要操作数据库时action类调用service层类,再调用dao层类来实现数据的保存或更新及删除。
3.3.3 性能需求分析
1)对于后台管理系统,首先必须是系统的管理员才能对系统各方面进行更新,其次须凭借无误的昵称和密码口令登陆到系统,没有权限包含不是管理工作人员或者是工作人员时输入不正确的昵称或密码口令登陆系统的人员都不能登陆进后台,对系统中任何信息都不能查看或更新,这样来保证系统的安全性和可靠性。
2)对于前台网站首页,对于拥有不同权限的用户来说,有两种权限分别是一般游客和在线用户,这两种消费者不能跨越本级别操作。具体:一般游客只能在网站首页浏览虚拟书店的介绍信息、书籍的基本信息以及分类查询书籍和搜索书籍,这类用户通过在网站注册信息登录即可变成在线用户;在线用户不但具备一般游客全部能力,而且可以生成订单、管理订单、更改个人基本信息。
2、数据的完整性
1) 系统用到的全部信息的完整性,包含保存用户个人信息和书籍的信息。
2) 信息和信息保持一定的互动。
3) 同一种信息在不同表中保存的数据应保持相同。
3.4 数据库分析
数据库是计算机系统的核心,其在数据库系统的管理下,对信息进行收集、整理、储存、检索、数据更新、数据加工以及数据统计和有用消息的传达等操纵。现在,信息系统等计算机系统的根基和核心部分已经成为了数据库,因此数据库的品质好坏直接关系到整个体系的质量和效率。[4]
MySQL是一种关系型数据库,其所使用的SQL语言是常用的访问数据库的标准化语言,MySQL具有体积小、速度快的优点,更因其是开源软件,这个大特点就很大程度降低了开发成本,纵使MySQL也有不足之处,但它提供的功能已绰绰有余,因此本系统使用MySQL数据库。
3.5 开发环境
1、硬件环境:
CPU:Intel(R)Core(TM)i5
内存:4GB
磁盘:400G以上
2、软件环境:
系统类型:Win7 64位操作系统
开发工具:Eclipse j2EE
后台服务器:Tomcat 8.0
主要开发语言:JSP、Java
浏览器:Firefox/IE8.0/Google Chrome
3.6 开发工具及技术
3.6.1 开发工具
- Eclipse
Eclipse是基于Java的完全开源的一个可扩展的开发平台,Eclipse Enterprise Workbench是针对Eclipse IDE的扩展,是Eclipse针对企业开发的平台(简称Eclipse),使得我们在企业级开发应用、部署、封装,数据库管理方面方面提升了较高的效率。简单来说,Eclipse是一个JavaEE开发平台,它有编写代码、Debug模式下用断点来排错即调试、测试功能、发布应用功能,并且它完全支持一些流行框架如Hibernate、Struts等,前端编码语言如HTML、JSP、CSS、JavaScript,还有数据库SQL语句。
2、Tomcat
Tomcat是web应用开发以及调试JSP代码的首选。Tomcat 是属于轻量级免费的、开源的应用服务器。[5]选择tomcat作为服务器,一般是中小型企业还有一些对于同一项目同一时间访问的人数不是特别高的公司使用的,在开发和调试JSP 程序中,Tomcat占有绝对的优势,运行时占用的系统资源小。[10]这些暂且不说,而且它的扩展性非常好,因为以上原因Tomcat已经备受关注,但是Tomcat并没有说因为当前成就而停止前进的步伐。
3、MySql
MySQL是一种关系型数据库,最主要的功能就是将来前台和后台对数据进行查询、保存等操作,其所使用的SQL语言是常用的访问数据库的标准化语言。Hibernate它对JDBC做了简单的封装,使用Hibernate对数据进行增删改查的功能,这次用Hibernate是因为他可实现实体类反向生成数据库,操作简单。
MySql支持多种操作系统如常见的Windows、Linux等; 提供了TCP / IP、ODBC和JDBC等数据库的连接路径; 作为开源软件,MySQL是小中型系统开发的不二之选。[4]
3.6.2 开发技术
1、JSP
JSP在服务端器实现给客户端浏览器响应的是html页面,因此客户端只要有浏览器方可看到响应内容,JSP页面包括两部分一个是Java语言写的脚本代码,另一个是html代码。客户端发出请求之后,页面上的Java脚本代码在客户端请求web页面之后被解析处理,然后返回给浏览器响应的html页面。[2]
JSP技术的优势:
(1)一次编码,各个系统平台都能运转。
(2)JSP组件跨平台。在不同的平台上都能运行。
(3)拥护多种网页格式。JSP支持html、wml等浏览器样式。
(4)JSP标签可扩充性。JSP技术准许开发人员扩展JSP标签,还能自定义标签,降低了制作网页的复杂度。
(5)健壮性与安全性。JSP页面包含Java代码,而Java有健壮的存储管理机制和高安全性,因此JSP也有健壮性和安全性。[8]
JavaScript脚本语言是动态弱类型的语言,它的解释器是浏览器所包含的,运行在客户端,通常应用在网页端的脚本语言中。它一开始用于HTML(超文本标记语言)页面,以向HTML网页增添动态功能。
JavaScript的特点是:
(1)js是一种执行时再翻译的动态语言(代码未预先编译);
(2)提高用户界面交互体验,为页面添加动态验证
(3)脚本部分的代码要放在特定的标记中间,或者单独写成js文件,并引用进来;(4)js是基于浏览器,是运行在浏览器中的,就算在不同的平台上也可运作。[3]
- Struts2
Struts2优势:
- Struts2Action对象为每一个请求产生一个实例,因此没有线程安全问题。
- Struts2强大的标签库提高开发效率。
- 页面脉络清晰,通过查看配置文件把握整个系统的关系,方便开发人员岗位流动时的维护。
4、Spring
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
Spring优势:
(1)Spring提供了一种管理对象的方法,可以把中间层对象有效地组织起来。一个完美的框架“黏合剂”。
(2)有利于面向接口编程习惯的养成,使代码结构清晰。
(3)采用了分层结构,可以增量引入到项目中。
(4)目的之一是为了写出易于测试的代码。
(5)非侵入性,应用程序对SpringAPI的依赖可以减至最小限度。
(6)一致的数据访问介面。
(7)一个轻量级的架构解决方案。
5、Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate优势:
(1)Hibernate是JDBC轻量级的封装,占用内存较少,性能比较高。与JDBC相比,如果开发JDBC的人员技术能力非常强,hibernate执行效率会比JDBC弱一些,但是大部分情况是程序员在使用JDBC时是不可能做到最高效率,hibernate可以帮大部分开发人员提高运行效率。
(2)可以引入第三方二级缓存,提高系统查询效率,减少系统里存在大量单例类(singleton),大量的单例类,会降低系统的可测试性和面向对象程度。
(3)优秀的ORM框架,理论上节省开发人员95%的开发工作量。
(4)Hibernate兼容JDBC。
4 系统总体设计
4.1 设计思想
1、本系统使用浏览器 / 服务器模式开发,因为考虑到许多用户已经习惯于在页面上搜索。
2、Java面向对象的思想应融合在整个系统的开发中,每个模块都是独立的,各模块组成一个整体,零散而聚集;
3、系统应具有安全性以及可靠性,分配角色权限是解决他们的最好途径;
4、操作方便,界面从优;
5、设计不仅要重点突出,而且要细致周到。为满足设计要求,在可能的基础上改进系统的扩展,以适应用户的需求。
4.2 功能模块设计
该系统使用起来容易,操作简单,有清晰明了的提示文字,让用户的整个购书过程很轻松享受。本体系实现的基本功能如下:
- 一般游客:浏览书店简介、浏览图书信息、搜索图书、根据分类查寻图书、注册信息等功能;
- 在线用户:包括一般游客全部功能,除此之外,还有登录网站首页、管理购物车、生成订单、查看订单等功能;
3、管理员具有图书类型管理、图书信息管理、订单查看删除管理、用户添加删除管理、后台管理功能;
4、除了以上,该系统的用户交互界面简易明了,易于使用,还有友善的不正确的提示信息,有比较好的安全性。
系统整体的功能模块图如图4.1所示:
毕业设计下载地址:
基于jsp的网上购书系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
☞☞☞点击查看项目整体介绍 https://download.csdn.net/download/dwf1354046363/87813603
更有100多毕业设计项目供你挑选: