信息管理和信息系统基于java语言的校园二手交易平台的网站开发毕业论文设计.docx
《信息管理和信息系统基于java语言的校园二手交易平台的网站开发毕业论文设计.docx》由会员分享,可在线阅读,更多相关《信息管理和信息系统基于java语言的校园二手交易平台的网站开发毕业论文设计.docx(46页珍藏版)》请在冰豆网上搜索。
信息管理和信息系统基于java语言的校园二手交易平台的网站开发毕业论文设计
题目:
基于JAVA语言的校园二手交易平台的网站开发
院(系)信息学院
专业信息管理与信息系统
班级
学生姓名
学号
导师姓名
导师职称
2012年05月12日
【摘要】
互联网的发展速度越来越快,网民数量的大量攀升,各种利民、便民、娱民的网络应用层出不穷。
互联网的发展已经从最初的个人技术展示到信息的即时发布再到现在的各种方便人们的网络应用和增进交流的社交网站.现在的互联网已经改变了人们很多的生活习惯,节省了大量的时间,提供了各种机会。
最近几年新兴起来的个人信息发布平台,如58同城,赶集网方便了很多人。
它给人们提供了一个更加广阔的交易平台。
他既可以实现同城的交易,也可以实现异地交易。
在这样的平台上,可以进行二手物品的交易、租赁商机的及时宣传、招聘信息的发布、便于寻找所需要之服务如搬家、装修等等各项服务。
本文研究的校园二手交易平台就是考虑方便在校学生和老师,虽然在58这样的大型网站同样能使二手交易功能得以实现,但是同处于一个校园里的人,往往很难搜索得到这样的信息,不同地方的人交易往往又需要奔走很远的路程才能实现,而且这其中还很有可能出现不安全以及欺诈的危险。
而且作为一学生为主题的校园,有着相同的生活环境和相近的物品需求,交易的物品更有可能在很短的时间里达到成交的目的。
关键词:
二手交易、信息发布、网站建设
【Abstract】
AstheInternetdevelopingmoreandmorequickly,thenumberofnetcitizenhaveabigincreasing.Differentkindofconveningpeople,entertainingpeopleandofwebapplicationsappearsallaroundofworld.ThedevelopingofInternethasbecomefromdelayingpersonaltechnology,informationreleasingtoallkindsofappswhichcansatisfydifferentpeopleanddifferentrequirementandthewebsitesthatcanenhancecommunity.Theinternethaschangedthecustomofpeoplesodeeplythatpeoplecannotleavefromtheelectricnetworkandinthesametimeitsaveslotsoftimeforpeople.
Therearemanyinformationwebsitesspringingupintherecentyearssuchas58,ganji.Theyprovidelotsofconvenientandopportunitiesasthebusinessplatform.Itworkswhereveryouareandwhateveryoutrade.Intheplatformyoucantradesecond-handgoods,publishbusinessopportunitiesandrecruitmentinformation,releaseservicessuchasremoveandsoon.
Takingconsiderofthestudentandteacher,myarticlediscussesaboutcampussecond-handtradingplatform.Althoughtherehasbeensuchwebsitethatcansatisfytheneedofsecond-handtrading,itismoreorlessdifficultforstudentswhointhesamecampustofindtherightinformation.Ifastudentorteacherfindtheinformationorgoodsinlargewebsite,thereisalongdistanceforpeopletogetitorshouldsendaexpresswhichspendalittlemoneytogetit.Thestudentinthesamecampushasthesameenvironmentandsimilarneedthatitcanfinishinarelativelyshortperiodoftime.
Keywords:
second-handtrading,informationreleasing,websiteconstruction
1引言
1.1校园二手平台的现状
现在互联网已经深深的影响并且改变着到了人们。
它是人们搜集资料、完成工作、娱乐生活不可或缺的一部分。
当我们有不知道的情况,我们会首先选择XX搜索一下;当我们需要哪一方面的专业知识,我们会首先到专业的网站去浏览查找一番;当有想欣赏的影片,我们会首先到网上的影视类网站去查看等等。
互联网在改变着我们的生活,方便这我们的生活,只有有想查询的事物,我们首先想到都是先上网搜索。
校园二手平台早几年前就已经被提了出来,但是在很多校园里面都没有兴起,最终不了了之。
但是随后出现的面向社会的58同城、赶集网兴旺了起来。
原因可能为:
前几年大家还没有这方面的意识,同时能物质条件也没现在好,许多情况都是,新三年,旧三年,缝缝补补又三年的情况。
而现在也是发展不起来,因为许多人认为,同类的网站已经出现,不需要在这方面在有所考虑,所以到现在,也非常难以在各个学校的网站上面发现这类的交易平台。
。
1.2研究的背景与意义
作作为现在的大学生,物质生活条件的极大提高以及无需承担的过多压力,总是会有很多的东西,在还没有达到他的使用寿命之前就已经被淘汰掉了,或者是拥有这样的物品,自己使用完毕,对自己作用不大、弃之可惜而对别人还有用途仍能发挥余热。
对这类的物品进行充分的利用,既使它们得到充分的利用,同时还能节省大量的资金,尤其对那些资金有困难的人来说,更是一件好事。
而作为校园的主体----学生,拥有着相同的生活环境以及相近的生活学习需要,大家更能各取所需,互惠互利。
以我们班个别同学为例,尤其喜好数码科技产品,而这些产品的更新换代之快是人所共知的,但是即使过代了,它的性能还是非常出色的,还是能满足相当大部分的需要的。
而为了更换最新的产品,只能重新购买,只能把这些“老物品”低价在处理掉。
而对于购买力稍弱而且同样非常喜爱的人来说,这类的东西无论是在性能还是价格上都有着巨大的诱惑。
作为学生,很多人的爱好就是看书,书籍看了很多遍之后,它对于个人的价值就变得低廉了,这是就完全可以交易出去而获得的金钱可以购买别的书籍。
而校园二手平台网站就能很好的协调双方的需求。
让需有所供,供有其需。
而且校园里面距离不是很远,便于双方交换、节省时间,出现欺骗等各种危险的可能也大大降低。
1.3网站建设的宗旨与目标
由于这个网站是主要为了交换物品而存在的,那它的结构就非常的直白,便于人们发现自己需要的东西。
用户的首页就是各种选择条件及根据条件显示出的信息列表。
由于校园物品所限,物品的种类非常有限,但是可以通过增加数据库里面的类别而添加新的种类。
1.4业务功能
在网站的所用用户中,只用注册用户和管理员才能进行数据操作。
注册用户可以发布信息等在其权限内的操作,管理员负责整个网站的相应权限的操作,如对用户的删除修改等。
具体情况如下:
a、普通用户:
面向所用用户的可以对公布的信息进行浏览、查看和查询。
b、注册用户:
提交本人需要修改的信息,权限范围内对自己各项可公开数据信息浏览、查询。
c、管理员:
用户的管理,信息的管理,对整个网站的维护。
。
1.5网站系统预览
用户输入网址之后,看到的就是这样页面,在这里显示所有的发布信息。
用户进入系统后就可以注册成为会员、查看商品信息,可以按关键字来查询商品
。
图1.5.1:
首页界面
登录后台,可以通过各个菜单查询相应的信息。
查询用户信息和发布的信息。
图1.5.2:
后台欢迎界面
2网站采用的技术
2.1S2SH型的网络框架
SSH为struts2+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
在这个框架下,只需写好主要的java逻辑代码和页面的css美化即可实现网站的建立。
在本网站功能的实现过程中,strut2s主要是为了实现在java方法里面页面的转向问题。
Spring为负责service和dao的配置。
Hibernate是负责底层同数据库进行数据传输问题。
SSH大大的减轻了网站开发的周期、难度以及降低了后期二次开发与维护的成本。
2.2Struts的特性及使用实例
优点:
1.开源软件,能更深入的了解其内部实现机制。
2.Taglib标记库,灵活动用,能大大提高开发效率。
如果taglib标签使用得当,能很好的提高效率,但是现阶段有这样一种情况:
许多具有多年开发经验的的老程序员对这样的新的页面标签使用的非常少,因为原来的页面HTML标签就能实现这样的功能。
而新学员或者说新手们却往往喜欢使用新的技术,这就造成了现在这样的情况。
3.页面导航使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
例如:
/admin/user/queryUser.jsp
/admin/user/showUserList.jsp
/admin/user/showUserPasswordList.jsp
/admin/user/addUser.jsp
/admin/user/queryPassword.jsp
/admin/user/editUser.jsp
/admin/user/browUser.jsp
清晰的结构能使非常明了的解决页面的跳转情况。
尤其是现在处于这样的一个情况下:
很多程序员开发新的程序少,维护已有的程序非常多。
而且二手、三手,四手甚至六手的情况也是大有存在。
清晰的结构非常有利于后期的维护,这对后期维护的成本降低有很好的作用。
4.提供Exception处理机制,为了能使网站给予用户更好的体验,出现的错误可以给予统计的处理。
不过这样的机制在实际的使用过程中使用极少。
多说情况下是通过jsp错误页面来统一处理。
5.数据库链接池管理,这个功能在使用的也不多,数据库的链接更多的是是同hibernate,具体可以参考hibernate知识(如下)
缺点:
Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,一旦习惯了,会大大提过编写的效率。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
ActionForms使用不便、无法进行单元测试。
2.3Spring的简略介绍和使用情况
1.使用Spring构建的应用程序易于单元测试(多数使用junit进行单元测试)。
2.Spring帮助你解决许多问题而无需使用EJB。
Spring能提供一种EJB的替换物,它们适用于许多web应用。
例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。
3.Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。
在Spring应用中的大多数业务对象没有依赖于Spring。
实例代码:
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
一般的网站要实现的功能基本上就是增删改查,也就是creat,update,delete,select,这些操作在javaaction中指定相应方法的方法头如:
saveUser,updateUser,deleteUser,updateUser,这样就能实现见名知意的效果,如果这些方法不是以上述的配置所命名,就会无法调用该方法。
有效的防止命名无法见名知意的问题。
2.4Hibernate的特性简介和使用情况
优点:
它是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate的性能非常好,因为它是个轻量级框架,映射的灵活性很出色并且支持各种关系数据库,从一对一到多对多的各种复杂关系。
Hibernate的出现大大减少了代码量。
例子部分代码:
--配置数据源-->
--指定连接数据库的驱动-->
--指定连接数据库的URL-->
mysql:
//localhost:
3306/splat"/>
--指定连接数据库的用户名-->
--指定连接数据库的密码-->
--指定连接数据库连接池的最大连接数-->
--指定连接数据库连接池的最小连接数-->
未使用hibernate的话,每一次从数据库里面取数据都要建立数据库连接,这样的操作大大的增加了代码量,造成代码的重复,一旦数据库有所改变,那对代码的修改会非常大,也就是说后期的维护的成本将会非常大。
而且hibernate屏蔽了不同数据库之间语言上的细微差别,只要在配置文件中指定相应的数据库和数据库驱动,就能实现从面相关系到面相对象的这样一个过程的转变。
如:
如果使用的数据库是mysql那只需指定它的数据库驱动com.mysql.jdbc.Driver;如果数据库变成oracle,同样也只需要改变它的驱oracle.jdbc.driver.OracleDriver即可。
Hibernate以其极其便捷的操作大大的减少了对数据库直接访问,降低了程序员对数据操作过程的难度,随其也有缺点,但是带来的好处确实非常大的,这也是其流行的根本原因。
2.5JAVAWEB开发模型
Javaweb开发的过程,比较流行的开发模式是MVC型结构,也是Model-View-Controller的简称,即模型-视图-控制器。
这个过程可以分成视图层、模型层、控制器层,并各自处理自己的任务。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
视图
视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,对于java编写的页面就是jsp页面。
在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色。
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
优势
MVC模式就是非常典型的分成模式,分成模式的在计算机领域应用是非常广泛的,它屏蔽了具体的实现过程,只要对调用它的层或者方法提供相应的接口即可,如果某个层需要修改,只要对相应的部分进行修改即可,避免了由于某个部分出现问题导致整个项目崩溃或者停滞的问题。
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中 精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上
缺点
有优势当然就有缺点,mvc模式的出现就是把简单的过程复杂化,这也是互联网应用开发普遍出现的问题,但是复杂化是为了让项目或者程序更加具有灵活性。
视图对模型数据访问效率有所降低。
这个过程可以通过下图来表示。
图2.5.1:
MVC示意图
具体的过程是这样的:
用户通过客户端(浏览器)发送的请求,浏览器端就是view层。
该请求找到相应的servlet容器,在通过Struts2的配置文件,这就是controller层的操作,再找到相应的处理方法并放回相应的结果并跳转到结果页面。
2.6开发工程采用的模型结构
在具体的开发过程中由于有集成的开发环境,开发的复杂程度有所降低,所以更加注重业务的逻辑层次和代码的架构。
这就需要一个非常清晰的开发架构,现在在具体的开发过程中对于具体的java代码我们采用这样的一种结构。
在一个项目名下,分为两部分。
一部分是原始的java代码,这类java文件放在src目录下,在开发的过程中,开发工具自动编写成.class文件并放在具体的实现层包里。
.java和.class放在不同的目录下,结构比较清晰。
在开发的过程中有两种模式,一种是按照类别分成,一种是按照功能分层。
按照类别模型划分如下:
按照功能划分模型如下:
useraction
actionuser
daonews
confdao
formuser
newsnews
actionconf
daouser
confnews
formform
在具体的开发过程中,这两样使用的都有,但是以第二种方式为主的居多,本人在实际开发的过程中也是按照这样的分层结构,具体的每一层的内容如下:
Action文件这部分放的是所用的actionjava代码。
Struts2所要调用的方法全部存在于这里
Conf文件这里存放的是网站的配置信息,包括struts2、hibernate、spring的配置文件
Dao文件这里存放dao层