基于SSH框架的自由交易系统的设计与实现毕业论文Word文档下载推荐.docx
《基于SSH框架的自由交易系统的设计与实现毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于SSH框架的自由交易系统的设计与实现毕业论文Word文档下载推荐.docx(40页珍藏版)》请在冰豆网上搜索。
![基于SSH框架的自由交易系统的设计与实现毕业论文Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/22/cc7436a5-9f1d-492b-9b8c-24324e51aa3f/cc7436a5-9f1d-492b-9b8c-24324e51aa3f1.gif)
1.1课题背景
在互联网还没有产生之前,人们的交易都局限在规定的市场里。
有时候,人们为了销售自己的产品,都要早出晚归的出售着自己的商品。
或者带着自己商品走街串巷,有时候一整天的劳动也没有一个好的成交量。
传统的市场不仅需要大量的人力财力的付出,销售的数量也不是很良好。
但随着互联网的普及,电子商务也随着互联网快速的发展起来。
有了电子商务之后,人们的交易变得丰富多彩,不用大老远的跑到市场进行购物,只要在自己的电脑上点点鼠标就能买到自己想要的商品[1]。
而大学生做为主要电子商务的主要市场,已经成为了网购电商的主要市场。
但现在大学校园的市场和现在网购的市场并不是完全重叠的。
校园有校园稳定的市场,是网购所不能提供的。
自由交易系统是现代校园交易发展的必然方向,特别是在现在这样一个互联网发达的校园环境里,我们每天的生活都离不开互联网。
并且在校园环境中,隐藏着巨大而稳定的交易市场。
大一新生刚进校园时,需要购买大量的生活用品,每一年都是如此,购买物品单一,需求巨大而且稳定;
巨大的二手市场,每一届学生毕业有很多都是将自己的书卖掉,但在大学中,基本上一本书只用了一个学期,因此可以将二手书出售给需要的人。
但是校园有市场却没有一个好的平台,使得造成了大量的资源浪费。
因此,开发一个校园版的自由交易系统是非常必要的。
1.2目的和意义
虽然现在互联网购物如茶如火,但是在校园环境下的交易也是很急需的,却没有这样一个平台。
因此,提供这么一个系统来当平台是非常有必要的,不仅能将一些义卖活动转移到线上,而且能促成校园二手市场的形成,对于资源的再利用有很大的帮助。
因为学生所购买的物品也比较单一,因此可以在该平台上比较低价出售学生必需品,并且能发布一些消费活动,能有效的拉动周边经济增长。
1.3系统设计思想
对于一个交易平台,必须有一个合理的系统来支持它。
因此就该明确系统有什么功能、能解决什么问题,要有一个完整的设计思想。
一个合理实用的自由交易系统,应该具备操作容易、界面清晰、交互直观、功能全面等优点。
可以让用户快速的浏览自己意向的商品,并且能直观的和卖家进行交流。
该自由交易系统的设计目标从以下几个方面考虑:
(1)技术性:
本系统采用Java语言开发,采用MyEclipse开发工具和MySQL数据库整合开发,并采用SSH框架进行设计,大大减少了开发时间。
MyEclipse开发工具和MySQL数据库都是免费的,大大节省了成本。
(2)实用性:
本系统主要将校园内的交易从线下搬到线上,一切以用户交易的方便出发,方便校园内的交易,提高物品的利用率,减少资源浪费。
(3)可维护性:
实用SSH框架进行设计开发,大大降低了代码的耦合性,使系统不用大面积维护,当出现问题时,可以随时快速的进行维护
1.4系统的开发环境与技术背景
1.4.1开发环境
开发一个JavaWeb应用程序的环境,需要的环境是:
JavaJDK,IDE(集成开发环境)、Web服务器以及数据库。
JavaJDK为Java的开发环境,其中包含了开发Java程序的一切工具,是面向开发人员的。
自由交易系统采用Sun公司官方标准的JDK,并且使用MyEclipse做为集成开发环境。
MyEclipse是对EclipseIDE的扩展,利用它可以使我们在数据库和JavaEE开发、发布,以及项目整合方面大大提高工作效率。
它不仅支持JavaEE5官方标准,而且开发功能非常强大,只要开发者输入代码的前几个字母,并使用快捷键就能非常快速的完成代码编写,不仅集成Spring、Struts、Hibernate、iBatis、WebWork等各种民间框架,还能自动将Web应用程序部署到Tomcat、JBoss、WebLogic等各类服务器,浏览MySQL、Oracle、DB2、Derby、MSSQLServer等各类数据库。
显而易见,这是一个非常理想的开发工具[2,3]。
在服务器方面,本系统使用了免费的Tomcat服务器。
Tomcat是Apache软件基金会开发的,并且有Sun公司的参与和支持,已经实现了JavaEE5中Web层的各种规范因此最新的Servlet和JSP技术总能在Tomcat中体现。
因为Tomcat技术先进、服务器稳定,使得大部分Java开发者采用Tomcat服务器,是目前主流的服务器之一,只要在官网上下载好服务器,并在MyEclipse里配置Tomcat服务器路径就能使用。
因此本系统也不例外的使用了该服务器[4]。
MySQL数据是一个小型关系型数据库,其特点是体积小、速度快、总体拥有成本低,在开发者自己的电脑上就能安装使用。
并且MySQL开放源码,使得许多中小型网站选择使用MySQL数据库[5]。
1.4.2技术背景
HTML技术:
超文本标记语言,是WWW的描述语言。
HTML语言能把一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
HTML的结构包括头部(Head)、主体(Body)两大部分。
头部描述浏览器所需的信息,主体包含所要说明的具体内容。
JSP技术:
JSP技术基于平台和服务器的相互独立,能够在任何Web服务器上并且支持来自多家开发商提供的各种各样工具包。
JSP技术使用Java编程语言编写类XML的tags和Scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和Scriptleets访问存在于服务器端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP技术的特点如下:
JSP代码具有较高的移植性,可以实现一次编写,到处运行。
JSP代码基本上可以再所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
因为,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关。
绝大多数JSP页面依赖于可重用的、夸平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
JSP封装了许多功能,通过JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性等。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,因此JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
Java中链接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据相连,执行查询、提取数据等操作[6]。
JavaScript技术:
JavaScript,一种直译式脚本语言,是基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言,有网景公司的布兰登·
艾克,在网景导航者浏览器上首次设计实现而成。
是基于对象的语言,所有对象都是有浏览器提供给用户的,直接使用即可。
完整的JavaScript包括:
ECMAScript,描述了该语言的语法和基本对象;
文档对象模型(DOM),描述处理网页内容的方法和接口;
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
JavaScript基本特点:
是一种解释性脚本语言;
向HRML页面添加交互行为;
可以直接嵌入HTML页面,能够写吃单独的js文件,在HTML页面链接使用,有利于结构和行为的分离。
利用JavaScript技术我们可以完成嵌入动态文本于HTML页面;
对浏览器事件做出响应;
读取HTML元素;
在数据被提交到服务器之前验证数据(常用来完成用户注册,添加数据等);
检测方可的浏览器信息,控制cookies,包括创建和修改等。
JavaScript具有简单性:
直译语言,它所定义的变量类型是采用弱类型;
动态性:
直接对客户端的输入做出响应,不需要经过Web服务器;
跨平台性:
JavaScript依赖浏览器本身,与操作环境无关,只要浏览器支持JavaScript即可;
安全性:
JavaScript只能通过浏览器实现信息浏览或动态交互,有效的防止了数据的丢失。
因此,JavaScript是专门为Web制作而量身定做的一种编程语言。
MVC设计模式:
作为一种经典的设计模式典范,MVC设计模式强制性的使应用程序的输入处理和输出分开。
因此,应用程序被分成三个核心部件:
M是指业务模型(Model):
应用程序的主体部分,表示业务数据和业务逻辑。
包含应用程序的核心功能,封装系统的状态。
一个模型能为多个视图提供数据,由于同一个模型可以被多个视图重用,大大提高了应用的可重用性。
V是指用户界面视图(View):
用户看到并与之交互的界面,对Web应用程序来说,视图就是HTML元素和像XHTML、XML/XSL等一些标识语言和Webservices。
MVC模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理是在模型中进行的。
C则是控制器(Controller):
接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是将模型与视图匹配在一起,共同完成用户的请求。
只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
MVC设计模式基本分层图如图1-1所示[7]。
图1-1MVC设计模式基本分层图
Struts2框架:
Struts2是基于MVC模式的JavaEE技术Web开发框架。
使用Struts2框架有利于Web项目的维护。
Struts2是WebWork框架基础和Struts1的优点进行整合而设计出的新MVC分层框架。
Struts2框架大大降低了代码的耦合性,它的分层架构使得开发思路变得非常清晰,更利于修改,是国内的主流框架[8]。
Hibernate框架:
Hibernate是一种ORM框架(持久化对象/关系映射框架),在Web开发中占据了重要地位。
Hibernate框架的应用,改变了传统的JDBC连接数据库的方式,使连接数据库的方式变得非常简单。
传统的数据持久化操作中,需要使用JDBC并配合大量的SQL语句。
Connection、Statement、ResultSet等JDBCAPI与SQL语句夹杂在一起,开发效率很低。
而Hibernate框架使用简单、功能强大、对却大多数数据库都支持。
Hibernate能直接操作POJO,并且是一种轻量级的框架,不依赖于任何容器[9]。
Spring框架:
Spring框架也是一个轻量级的JavaEE框架,因此也不需要依赖于容器就能运行的。
它以IoC、AOP为主要思想,协同Struts、Hibernate、iBatis等众多框架。
用于项目的整合,好处是解耦[10,11]。
其特点如下:
轻量级:
无需继承Spring中的类。
IoC:
又称依赖注入,对象被动接收依赖类而不是主动去找,从而降低耦合度。
AOP:
面向切向面编程。
可以通过预编译的方式或运行期的动态代理类,实现修改代码的前提下给程序添加统一功能的一种技术。
Spring是免费开源代码的。
Spring拥有众多社区支持。
2自由交易系统分析
系统分析是传统工程生命周期里的一个环节,亦即:
分析设计开发测试,当然,整个过程会有迭代和变更,但仍遵循着这样的顺序。
系统分析要解决的是“软件做什么”的问题。
当系统分析把软件功能确定无误时,整个软件过程才有良好的开端。
在软件工程中,一个软件的系统分析是软件工程中的一个重要过程,相当于这款软件的血液。
在这个过程中,软件开发者应该先确定客户的需要,再根据需求进行开发。
只有在确定了这些需要后,他们才能够找到问题的解决方法,使软件更加完善。
2.1自由交易系统的可行性分析
软件可行性分析最根本的任务是对以后的行动方案提出建议。
它主要通过实际调查,对新系统的开发是否具备可行性和必要性而进行的一种分析和研究,主要从市场、技术、经济等方面来进行分析和研究,并通过这种分析来确定新系统是否值得开发。
2.1.1市场可行性
一个大学生四年大学生活积累下的各种书籍和用品很少能毕业后全部带回去。
较为普遍解决的方式是,在外面摆摊、出售给废品收购者、赠送学弟学妹或者丢弃。
并且毕业生摆摊时间多为期末时期,非毕业生都比较忙碌,而对于一个新学期的开始,许多学生对购买旧教材,自行车等物品也变得非常热衷。
但在校生也会因为信息不足或经济紧张而无法以相对优惠的价格购买到自己需要的东西。
所以校内市场供求很不平衡。
因此,提出这样一个平台,恰恰符合了校园交易的需求。
2.1.2技术可行性
本系统采用Java开发,选用了MyEclipse开发环境和MySQL数据库进行开发,同时采用流行的SSH框架进行开发设计,这些软件都是方便、免费、安全可靠的。
因为选用MyEclipse开发工作,使得开发的系统具有界面美观,功能俱全,显示内容简明,操作简单,使用户更容易上手。
4G的内存,1T的硬盘来存储数据,大大满足了系统的设计开发和运行。
2.1.3经济可行性
由于本系统的设计开发采用开源的开发工具,以及免费的数据库,和免费的web服务器,大大降低了开发成本。
并且采用SSH框架开发,减少了人力的投入。
综上所述,本系统在市场上的需求是很大的,而且开发目标已经非常明确,在市场、技术、经济方面都可行,并且符合需求、系统操作简单、上手容易等优点。
开发该系统是完全可行的。
2.2自由交易系统业务流程分析
通过对校园生活中业务进行调查分析及对系统整体业务流程进行流程的分析,选择部分模块做如下具体描述。
网站产品发布及商品选购业务流程描述
对系统整体业务中最主要的自由交易及订单进行描述,访问者进入网站首页,注册成为用户后才能访问其他页面。
注册成功的用户可以发布自己的宝贝,也可以查看其他用户发布的宝贝。
如果用户有意中的商品,就可以加入订单,自行与卖家联系。
核心流程如下图2-1所示。
图2-1核心流程图
2.3自由交易系统需求分析
对于开发一个系统,必须要明确知道用户的需求。
所以,深入分析用户需求是软件开发工作取得成功的关键所在,也是前提条件,只有满足用户需求才能留住用户。
因此需求分析是非常必要的过程。
2.3.1系统的功能需求
通过对校园内交易的研究,以及校园市场条件的分析,总结出自由交易系统需要完成的一些具体功能,分析如下:
1.访问者注册:
访问者只有通过注册成为用户后才能继续访问其他页面,需要对用户名、密码、学号、联系电话、性别、年龄、QQ号码、寝室住址等进行填写。
2.用户修改信息:
本系统的用户可以修改自己的基本信息,但不允许修改学号,因为在校园的环境了,学号是一个学生的代表,目的是为了防止不诚信的问题发生。
3.添加商品信息:
用户可以添加自己想要出售的宝贝,添加时需要详细添加商品的简介,方便买家购买。
4.添加订单信息:
用户登录后,可以访问正在出售的商品,如有意中的宝贝,可以直接加入订单。
5.用户留言信息:
用户登录后,对本自由交易系统有建议的,可以在留言页面进行留言,版主会根据留言的信息及时回复用户。
6.后台管理信息:
管理员登录自由交易后台管理系统就能对用户和留言进行管理,对于一些不遵循规则,不讲信用的用户删除账号。
对用户的留言进行查看,并及时回复。
2.3.2系统的性能需求
一个系统的运行不仅要有强硬的技术支持,更需要强大的运行环境作为基础。
因此,高配置的硬件是必不可少的。
系统的配置应该要保证整个程序安全、稳定的运行,要提高程序处理的效率,对于用户提交的请求,服务器能够快速的进行对于请求的回应,并且要及时回收没有用的资源,释放资源,减少资源的浪费。
2.3.3系统的其他需求
一个系统在运行后,对于运行时产生的问题,系统应该进行修补,所以定期的系统升级是非常必要的。
不仅是系统升级,系统还应该具备高效性、稳定性、时效性、可塑性,自由交易系统在开发过程中,应注重用户的体验,对于用户上传的宝贝能够及时的保存在数据库中,并且能在页面上及时的出售;
稳定性要求自由交易系统正常运行时不应该出现错误,对于一些不可恢复的错误要保证数据库的安全完整,能够对系统突发的情况进行处理,例如服务器无法使用,要确保已经提交的数据保存在数据库中;
对于时效性,自由交易系统要及时更新合作商家的广告,对于合作方的活动要及时放在网站首页。
为了方便修改信息,自由交易系统要提供用户信息科修改,密码可修改,系统要提供相应的信息以确保用户正确填写修改信息。
对于交易-系统,首要的是从用户体验出发,只有用户的体验上去了,才能留住用户,才能使更多的商家加入自由交易平台来。
3自由交易系统设计
本自由交易系统是针对校园的自由交易平台,通过之前对系统各方面的分析,现在可以为系统设计具体的模块,以及数据库的分析。
3.1系统功能模块设计
自由交易系统根据功能可以分为七个模块,只有一个数据库。
核心模块为:
用户模块、管理员模块、商品模块和订单模块;
其他三个为辅助模块,分别是:
留言模块、广告模块和链接模块。
其中,核心模块是通过对系统合理的分析之后设计的,其他三个为系统的人性化设计,主要是为了支持和辅助系统的。
(1)用户模块:
访问者通过注册成为本系统的用户,用户自身对自己的信息进行修改,密码的修改。
(2)管理员模块:
管理员是不能被注册的,是写在数据库里的,管理员主要是对用户和留言的管理,删除不遵守规则的用户以及对用户的留言及时回复。
(3)商品模块:
用户登录后,可以添加商品到商品页面出售自己的商品,也可以在商品页面选购自己喜欢的宝贝。
(4)订单模块:
当用户出售的商品被下订单后,在用户的我的订单里会显示被下订单的物品,用户也可以对别人出售的宝贝下订单,订单会保存在用户的另外一个订单页面里。
(5)留言模块:
用户对于本站建设,或者自身有什么要求的,可以通过对本网站的留言页面联系网站管理员。
(6)广告模块:
对于一些商家想在本网站上进行促销活动的宣传,本系统在网站的首页上有提供了相应的广告位,这也是本网站收入的主要来源和经济支持。
(7)链接模块:
本系统还