基于MVC模型的二手市场的设计与实现毕业论文设计40论文41.docx
- 文档编号:23831105
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:22
- 大小:347.82KB
基于MVC模型的二手市场的设计与实现毕业论文设计40论文41.docx
《基于MVC模型的二手市场的设计与实现毕业论文设计40论文41.docx》由会员分享,可在线阅读,更多相关《基于MVC模型的二手市场的设计与实现毕业论文设计40论文41.docx(22页珍藏版)》请在冰豆网上搜索。
基于MVC模型的二手市场的设计与实现毕业论文设计40论文41
(此文档为word格式,下载后您可任意编辑修改!
)
毕业设计(论文)
设计题目:
基于MVC模型的二手市场的设计与实现
摘要
二手市场是对商品进行销售、转换买卖的场所。
二手市场作为市场形式的一部分,事实上并没有得到足够的发掘,二手物品本身因为数量较少,转让利润较小,商家基本为个人形式,因此商品难以得到集中处理。
最终结果是由于买卖双方无法获得买卖信息而导致了二手物品的搁置与浪费。
本次设计主题为二手市场的设计与实现,该系统作为一个信息交互网站,提供用户注册、用户信息发布、信息搜索、个人信息管理等几项功能,最终目标是卖方能够发布及管理二手物品信息,买方能够查询到相关分类商品的转让信息,极大的去方便用户的生活。
本系统的开发工具为Eclipse,并采用MVC模型作为系统架构,前端显示主要采用JSP页面,系统中涉及的表单验证功能主要采用Ajax技术,数据存储方面主要使用SQLServer2005数据库,系统的整体框架是采用了SSH2框架。
关键字:
二手市场MVCAjaxSSH2SQLServer2005
Abstract
Thesecondarymarketiscommoditysales,sellingplace.Thesecondarymarketaspartofthemarketform,infactenoughtoexplore,Becauseofthelownumberofsecond-concentratedtreatment.Theendresultisduetoboththebuyerandthesellerisunabletoobtainthesaleofinformationwhichledtothesecond-themeforthedesignandimplementationofthesecondarymarket,asaninformationinteractionsiteofthesystem,severalfeaturesprovideuserregistration,userinformation,informationsearch,personalinformationmanagement,theultimategoalisforthesellertoreleaseandmanagementofsecond-,thebuyercanquerytotherelevantclassificationofgoodsforthetransferofinformation,greattofacilitatetheuser'slife.
DevelopmenttoolofthissystemisEclipse,andusetheMVCmodelasthesystemarchitecture,frontdisplaymainlyusestheJSPpage,formvalidationfunctionrelatestothesystemmainlyusestheAjaxtechnology,datastorageusingSQLServer2005database,theoverallframeworkofthesystemistheuseoftheSSH2framework.
KeywordsThesecondarymarketMVCAjaxSSH2SQLServer2005
目录
第一章绪论1
1.1设计背景与意义1
1.1.1背景1
1.1.2意义1
1.2研究内容及主要成果2
1.2.1主要研究内容2
1.2.2主要成果介绍2
第二章开发技术研究4
2.1BS系统架构介绍4
2.2MVC模型介绍4
2.3SSH2框架介绍5
2.4SQLServer2005介绍6
2.5Ajax介绍7
2.6CSS介绍7
2.7开发和运行环境8
2.8系统开发流程8
第三章需求分析10
3.1系统预期用户10
3.2系统可行性分析11
3.3系统功能性需求11
第四章系统设计13
4.1设计目标13
4.2系统目录结构设计13
4.3系统体系结构设计15
4.4系统功能结构设计15
4.5数据库结构设计16
第五章系统实现21
5.1系统界面设计21
5.1.1系统界面设计原则21
5.1.2系统界面展示及相关实现代码21
5.2输入数据的验证31
总结34
致谢35
参考文献36
第一章绪论
1.1设计背景与意义
1.1.1背景
2012年7月19日,中国互联网络信息中心(CNNIC)在北京发布《第30次中国互联网络发展状况统计报告》。
报告显示,截至2012年6月底,中国网民数量达到5.38亿,增长速度趋于平稳,网民数量居世界第一。
众多商家把握时代的发展趋势,将原本刊登于报纸、杂志等媒介的高额广告转向价格低廉的网络平台,同时许多个体经营者及个人也将网络广告作为推广、宣传服务与产品的利器。
二手商品即还存在利用价值的非全新商品,因为其并非全新特点,所以价格一般比较便宜,但是商品的主要功能基本还存在,所以存在较高的性价比。
然而,二手商品的需求毕竟比较小,需求者一般为个人,商家可盈利空间较小,因此针对该类商品的网上信息发布系统很少。
从而导致了有二手商品转让或购买意愿的用户可能要通过贴广告、参加跳蚤市场这样的传统途径来解决自己的需求。
然而,粘贴广告的方式比较耗费精力和财力,并且收效甚微,所以许多人选择到集中展示二手商品的跳蚤市场来获得更大的选择,但是,我们不可能拥有一个每天都开放的二手市场,例如在大学中的一些社团每年会举办几次跳蚤市场,生意相当好,但是没有一个社团会选择天天去经营这样的一个市场,归根到底还是二手市场的开办成本和二手商品的需求量之间的经济矛盾不允许去做这样一个长期的经营活动。
因为存在着以上的矛盾,许多用户选择将二手商品搁置或扔掉,极大的浪费了资源。
我们迫切的需要一个平台来实现对二手商品信息的集中存放,满足更多人群对二手商品买卖的需求。
1.1.2意义
本次毕业设计的内容主要针对目前二手商品信息难以集中、信息获取渠道困难的特点,设计一个网上二手商品信息发布系统,为广大民众提供快捷高效的信息集中处理平台。
具体意义如下:
1)方便用户实时的查看最新的二手商品信息
用户只需要一台电脑,一个可用的网络,一个友好的浏览器就可以到网络上查看自己需要的商品信息,因为网络的特殊的传输渠道,卖家发布的信息,用户可以立即查询到,为用户提供了更加及时的信息。
2)扩大了选择范围
传统意义上,我们可以在二手市场上看到很多商品,但是这些商品的来源受到地理范围的限制而只能是附近的一些卖家提供的商品,而且买家一般也都是附近的一些群体。
网络的普及将世界变成了一个地球村,在这里你可以看到来自世界各地的商品信息,你的信息也可以被世界各地的人看到,无论是卖家还是买家,都扩大了选择范围。
更庆幸的是,网上银行、快递公司的兴起也为用户提供了远程交易的可能。
3)节约了人力和财力
传统意义上的二手物品交易无外乎两种途径:
一是四处散布广告;二是通过定期的二手市场集中展示。
但是无论是出于哪种途径,卖家和买家都需要投入大量人力、财力和时间。
而网络上的二手市场可以令卖家和买家足不出户的免费发布和接收二手物品信息。
1.2研究内容及主要成果
1.2.1主要研究内容
本次设计的内容为基于MVC模型的二手市场的设计与实现,系统设计以用户需求为起点,按照流程分为系统需求分析、系统功能分析、系统整体架构设计、系统局部功能的设计与实现。
1.系统需求分析,根据当下二手市场发展的不足,分析多数用户的主要需求。
2.系统功能分析,根据用户需求,分析系统需要实现的功能。
3.系统整体架构设计,在功能需求的基础上,考虑系统各个功能之间可能存在的关联,设计系统的整体组织结构。
4.系统局部功能的设计与实现,在对系统整体结构及功能作详细分析的基础上,研究系统各个模块的设计与实现方法。
1.2.2主要成果介绍
本次设计通过参考资料、请教老师及同学完成了一个基于MVC模型的二手市场,该系统为典型的web系统,主要目标是为了解决传统二手商品信息传播困难的特点。
本系统完成了对二手商品信息的发布与检索功能,用户通过登录该系统即可浏览到来自世界各地的二手商品信息,系统设计中加入了二级检索功能,方便用户精确快速的查找到自己需要的信息。
另外,本系统提供用户的注册与登录功能,主要目的在于对信息发布者做一个相关的信息存储,方便用户发布信息、管理信息。
第二章开发技术研究
2.1BS系统架构介绍
本设计主要是参考Web体系结构,采用现下常用的BS(浏览器服务器)模式,用户的所有操作都是通过浏览器完成和服务器的交互工作。
该系统体系结构主要由前台页面显示、后台逻辑控制、数据库操作几个模块组成。
用户能够直观的看到前台的页面显示,这也是用户的操作界面,用户通过页面操作将信息或命令传达到后台逻辑控制层,由逻辑层判定下一步操作内容,数据库用于负责数据的持久化问题。
Web技术的发展,使得管理系统的开发更方便、功能更强大,在此系统的开发过程中,Web技术起了一个骨架式的支持作用;与此同时组件技术的发展为系统的开放性、集成性提供了便利,有效合理地引入组件技术是当前Web系统开发与发展的一个方向;通过对系统的开发进行建模,形象直观的图形化表示,可以显示系统的流程与功能。
选择有效的建模方法,充分利用Web技术与组件技术,提高软件的开发效率,提高的软件的可靠性和可维护性,是每个软件开发人员所关心的问题。
2.2MVC模型介绍
MVC是三个单词的缩写,分别为:
模型(Model),视图(View)和控制Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
MVC模型倡导2个独立的应用程序之间应该严格的隔离。
这种隔离应该叫做概念上的隔离,或者,更加专业的术语叫做“松耦合”。
MVC几乎所有的的方面都是受这个目标的驱动,应用程序之间互相保持隔离。
松耦合的架构方式带来了许多短期和长期优势:
1)易于开发
个性化的组件之间不再依赖其他的组件,这就意味着他们能够更加容易的独立开发。
组件能够容易的被替换掉,保护一个组件并发并不受与其交互的其他组件开发的影响。
2)易于测试
组件的松耦合允许测试站在“产品”组件的立场上进行充分的测试。
也就是说,可以通过调用其他的组件返回一些数据从而很容易的避免直接调用数据库。
组件之间和模拟呈现之间容易的交换大大方便了测试的进程,随着时间的流逝,它能极大的增加系统的可靠性。
3)易于维护
逻辑上隔离的组件意味着对于一些组件变化也是隔离的。
因为风险往往是伴随着的一定范围的改变产生,因此,更少的修改是一件好事。
在本次毕业设计中,MVC作为一个开发模型来实现对系统的松耦合,系统设计中Entity层基本对应MVC中的模型层,Action层基本对应MVC中的控制层,系统页面展示模块基本对应MVC中的视图层。
2.3SSH2框架介绍
框架,即Framework。
其实就是某种应用的半成品,就是一组零件,供你选用完成你自己的系统。
简单说就是使用前人提供的工具,来做你需要做的事情,这样的话使用者就可以使用现成的工具来完成自己的工作,大大提高了自己的工作效率。
为什么要用框架?
因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。
在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。
而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。
还有,框架一般都经过很多人使用,所以结构很好,并且扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。
框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。
因为某种框架用的人多,而且项目比较大,采用以后熟悉该框架技术的人可以马上和开发团队紧密结合,从而大幅度的提升工作效率。
Struts2+Spring+Hibernate是J2EE的最新流行框架。
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在ServletJSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Struts2框架是以WebWork基础上发展起来的。
从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。
或者说,WebWork衍生出了Struts2,因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:
而且吸收了Struts1和WebWork两者的优势,因此,是一个非常优秀的框架。
在本次系统设计中,、dao、util、service、entity、test六个主文件夹,其中test文件夹仅用作部分代码测试使用。
action文件夹存放控制层类、dao文件夹中存放系统与数据库之间的操作接口,另外,dao文件夹中还有impl文件夹,用于存放接口的实现类;、service文件夹存放服务层接口,service文件夹中还存在impl文件夹,其中存放service层接口的实现类、util提供系统组件的一些类的存放、entity主要存放实体类信息,包括表格的映射文件配置信息。
系统WebContent目录下存放自定义文件夹imgs、css、js、pages、util和index.jsp页面,其中imgs文件夹主要是提供所需图片的调用,css文件中存放页面布局信息,供页面元素调用,js文件夹中为JavaScript信息,页面中的控件通过JavaScript脚本实现部分功能,pages存放多数页面,在本系统中其优势不明显,在大型系统中,分类的页面存储为日后的升级、维护提供了极大的方便,util文件夹主要存放一些组件页面,例如本系统中首页由header.jsp、footer.jsp、siderbar.jsp、content.jsp页面组成,页面组合的应用增强了代码的复用性,降低了资源浪费;index.jsp页面是系统的入口,它提供首页的跳转操作,解决系统首页直接加载时因为css文件名称的冲突而带来的页面非正常显示现象。
4.3系统体系结构设计
基于用户使用的便利性以及现今主流实现方式的考虑,二手市场系统采用现下比较流行的BS体系架构。
所谓BS架构,就是浏览器服务器模式,用户通过浏览器访问系统,通过对浏览器实现与后台服务的数据交互工作。
相对于传统的CS架构(客户端服务器)架构,BS架构机构的优势体现在以下几个方面:
1)极大地降低了客户端计算机的运行负荷,减少了用户机器的资源消耗。
2)有利于对系统的更改和维护,由于系统本身运行在服务器端,因此对服务器方的更改即可影响到所有客户端的访问数据。
3)客户通过浏览器访问服务器系统,不涉及用户个人机器配置及操作环境的因素,极大地方便了系统开发人员的工作量。
4)开发及设计时无需考虑跨平台的实现问题。
4.4系统功能结构设计
通过对系统的深入分析与研究,总结出系统功能的几个主要功能模块,如图4.1所示。
以下是对各个模块的具体说明:
1)用户登陆与注册模块,该模块负责用户账户的注册、登陆和修改功能,同时提供对已登陆用户名的保存功能,使用户在一次连接中不用再次登陆。
2)用户个人中心模块,该模块的显示建立在用户具有账户和已登录情况下,对于已注册用户,个人账户信息保存在服务器中,只有在用户登陆的情况下,才会出现个人中心的连接,用户进入个人中心可以查看自己的相关信息,包括个人信息和已发布信息的修改。
3)用户信息索引模块,该模块是本设计的主要体现模块,系统的主要服务主要都体现在该模块,用户能够通过系统提供的搜索框、城市选项框、时间选择、类型选择功能筛选自己需要的信息。
为方便用户操作,系统首页面提供常用物品的分类链接,方便用户快速查询。
4)用户信息发布模块,用户信息发布模块建立在用户具有用户账号和已登录的情况下,需要发布信息的用户必须拥有自己的账号来标示自己的信息,该功能模块下,用户可以选择自己要发布的商品信息的所属类别、设定商品的期望出售价格、填写自己的联系方式等。
发布信息时用户要指定自己发布信息的所属类别,系统不提供物品类别的自动判定功能。
5)数据库操作模块,该模块事实上对用户是透明的,但是涉及到整个系统数据的存储问题,关系到系统运行的操作性及顺畅性,因而不容忽视。
数据库模块主要考虑数据表的设计,包括表间的关联问题,同时结合系统设计特点,设计表格使其最高效率的服务于系统。
4.5数据库结构设计
数据库用于存储系统中涉及到的数据,实现主要数据的持久化功能,另外,有些数据还用于页面的现实条用,例如城市表中的下属城市信息还用于页面的动态获取展示,这些信息在需要使用的时候从数据库查询调用,减少页面的加载负荷,保证了系统运行的顺畅。
另外,选择用数据库存储数据能够方便的直观地看到系统的数据的格式化存储。
本次设计采用的数据库软件为MicrosoftSQLServer2005,本次设计中主要有四个基表和一个视图,分表为user_tb(用户表)、type_tb(类型表)、city_tb(城市表)、info_tb(信息表)、info_view(用户视图),如下图4.3,为数据库中表之间的关联关系:
图4.3系统表关联
以下给出本次设计涉及的几个主要表格及其相关说明:
1)用户表(user_tb)
负责用户信息的存储,表结构如图4.4所示。
图4.4用户表结构
user_id:
用户唯一标识字段
user_name:
用户名字段,即登陆账户名
password:
用户密码,即登陆密码
sex:
性别
age:
年龄
address:
用户所在地
mail:
用户邮箱,用于验证信息(本次设计不做实现)
real_name:
用户真实姓名,用于实名认证(本次设计不做实现)
2)类型表(type_tb)
描述发布商品的所属类型,类型表严格划分类型所属父阶类型。
表结构如图4.5所示。
图4.5类型表结构
type_id:
所属类型标识
type_name:
类型名称描述
super_type:
上阶类型标识
3)城市表(city_tb)
描述商品所在地信息,主要用于实现下拉框数据动态显示,城市设置等级划分,如:
省、市、县三级管辖范围划分。
同时,城市要有自己的隶属城市id属性。
表结构如图4.6所示。
图4.6城市表结构
city_id:
城市标识字段
city_name:
城市名称描述
city_level:
城市等级划分,主要用户区分省、市、县等划分区域
super_city:
城市所属城市标识
4)信息表(info_tb)
负责信息存储,用于用户信息查询、筛选。
信息表涉及对用户表id、类型表id、城市表id的关联,它外键关联其他三张表格,通过id的外键链接,能查询到任意一条信息,该表格提供一条信息的所有相关细节信息的查询功能。
表结构如图4.7所示。
图4.7信息表结构
info_id:
信息唯一标识
user_id:
该信息发布者的用户标识
type_id:
用于标识物品所属类别
city_id:
该信息发布商品所在城市标识
info_title:
信息标题
info_content:
信息主体,描述物品详细信息
img:
物品图片展示(如果存在)
price:
信息发布者期望的出售价格
submit_date:
提交日期,主要用于计算信息时效性
tel:
信息发布者联系方式
5)信息视图(info_view)
信息表主要的功能是为查询操作提供更加便捷的操作,视图表中存放系统查询涉及的字段信息,另外写入了info_tb的id,便于用户实现对该条记录的信息信息查看。
表结构如图4.8所示。
图4.8信息视图
info_id:
商品信息表id标识,用于系统查看商品详细信息时的检索
user_name:
用户名,取自用户表
city_name:
物品信息中city_id字段对应城市名
typy_name:
物品所属类型
info_title:
信息标题
price:
用户预设出售价格
submit_date:
信息提交时间
数据库的设计主要考虑到系统数据存取的方便性以及系统部分功能的实现。
用户表提供用户所有个人信息的存储;城市表事实上主要目的提供页面上城市选择的功能,因为城市选择设计三个等级,同一等级城市会有多个,一个城市下又会有多个城市,因此,如果单纯的通过页面来判断所选择的城市,并展示该城市的下属城市的话,那么该页面内容必然太过庞大,而且涉及逻辑判断较多,从而严重影响系统的运行速度,利用Ajax技术可以侦测到用户已经选择的城市,后台执行相关代码即可将该城市的下属城市显示到前台页面,从而大大减小了系统负荷,这也正是数据表设计隶属城市id的原因所在;类型表提供对信息所属类型的定义,同时也能够提供发布页面类型选择的动态传输,实现类似于下属城市动态加载的功能。
信息表实际上关联了以上三张表格,通过它可以查到一条信息的完整相关信息,为了避免系统数据库存储的冗余,故将以上三张表格的标识符关联到此表中,信息表存储数据的除用户关系、发布所在地、所属类别之外的所有直接信息。
因为信息表存储的内容较大,关联的信息较多,如果页面的每一次查询都是直接在信息表中查询的话,必然带来两个直接问题:
一是查询一条信息所要检索的字段更多,对查询效率有一定影响;二是当查询一条信息时,页面上要显示物品所在地时,系统还需要通过信息表中的city_id字段去查询city_tb中的city_name字段,这样必然很麻烦,因此,再次引入info_view视图。
视图因为是在数据库中存储的一个视图创建语句,因而其本身所占存储空间较小,而且执行效率更高。
在info_view视图中,根据以上四张表格之间的关联,系统中查询出一条信息对应的用户名、城市名、类型名、价格、提交日期等字段,这些是可以直接显示在系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MVC 模型 二手市场 设计 实现 毕业论文 40 论文 41