《信息管理和信息系统论文-—基于java语言的校园二手交易平台的网站开发.doc》由会员分享,可在线阅读,更多相关《信息管理和信息系统论文-—基于java语言的校园二手交易平台的网站开发.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、题目:基于JAVA语言的校园二手交易平台的网站开发院(系) 信息学院 专 业 信息管理与信息系统 班 级 学生姓名 学 号 导师姓名 导师职称 2012 年 05月 12日【摘要】互联网的发展速度越来越快,网民数量的大量攀升,各种利民、便民、娱民的网络应用层出不穷。互联网的发展已经从最初的个人技术展示到信息的即时发布再到现在的各种方便人们的网络应用和增进交流的社交网站.现在的互联网已经改变了人们很多的生活习惯,节省了大量的时间,提供了各种机会。最近几年新兴起来的个人信息发布平台,如58同城,赶集网 方便了很多人。它给人们提供了一个更加广阔的交易平台。他既可以实现同城的交易,也可以实现异地交易。
2、在这样的平台上,可以进行二手物品的交易、租赁商机的及时宣传、招聘信息的发布、便于寻找所需要之服务如搬家、装修等等各项服务。本文研究的校园二手交易平台就是考虑方便在校学生和老师,虽然在58这样的大型网站同样能使二手交易功能得以实现,但是同处于一个校园里的人,往往很难搜索得到这样的信息,不同地方的人交易往往又需要奔走很远的路程才能实现,而且这其中还很有可能出现不安全以及欺诈的危险。而且作为一学生为主题的校园,有着相同的生活环境和相近的物品需求,交易的物品更有可能在很短的时间里达到成交的目的。关 键 词:二手交易、信息发布、网站建设【Abstract】As the Internet developi
3、ng more and more quickly, the number of net citizen have a big increasing. Different kind of convening people, entertaining people and of web applications appears all around of world. The developing of Internet has become from delaying personal technology, information releasing to all kinds of apps
4、which can satisfy different people and different requirement and the websites that can enhance community. The internet has changed the custom of people so deeply that people can not leave from the electric network and in the same time it saves lots of time for people.There are many information websi
5、tes springing up in the recent years such as 58, ganji. They provide lots of convenient and opportunities as the business platform. It works wherever you are and whatever you trade. In the platform you can trade second-hand goods, publish business opportunities and recruitment information, release s
6、ervices such as remove and so on. Taking consider of the student and teacher, my article discusses about campus second-hand trading platform. Although there has been such website that can satisfy the need of second-hand trading, it is more or less difficult for students who in the same campus to fin
7、d the right information. If a student or teacher find the information or goods in large website, there is a long distance for people to get it or should send a express which spend a little money to get it. The student in the same campus has the same environment and similar need that it can finish in
8、 a relatively short period of time.Keywords: second-hand trading, information releasing, website construction 目录1引言11. 1校园二手平台的现状11.2研究的背景与意义11.3网站建设的宗旨与目标21.4业务功能21.5网站系统预览22网站采用的技术32.1 S2SH型的网络框架32.2 Struts 的特性及使用实例32.3 Spring 的简略介绍和使用情况42.4 Hibernate 的特性简介和使用情况62.5 JAVA WEB 开发模型72.6开发工程采用的模型结构83系
9、统开发环境和需求分析103.1系统环境及开发的工具103.2数据库的选择113.3页面的设计123.4页面的样式控制123.5需求分析134数据库的设计与网站的部分问题154.1数据库的设计154.2网站制作需要解决的问题175系统的运行演示效果205.1系统的前台演示效果205.2 前台演示效果226总结23参考文献24附录A25附录B36外文文献与翻译40致谢48北京物资学院2012届毕业论文(设计)1引言1. 1校园二手平台的现状现在互联网已经深深的影响并且改变着到了人们。它是人们搜集资料、完成工作、娱乐生活不可或缺的一部分。当我们有不知道的情况,我们会首先选择百度搜索一下;当我们需要哪
10、一方面的专业知识,我们会首先到专业的网站去浏览查找一番;当有想欣赏的影片,我们会首先到网上的影视类网站去查看等等。互联网在改变着我们的生活,方便这我们的生活,只有有想查询的事物,我们首先想到都是先上网搜索。校园二手平台早几年前就已经被提了出来,但是在很多校园里面都没有兴起,最终不了了之。但是随后出现的面向社会的58同城、赶集网兴旺了起来。原因可能为:前几年大家还没有这方面的意识,同时能物质条件也没现在好,许多情况都是,新三年,旧三年,缝缝补补又三年的情况。而现在也是发展不起来,因为许多人认为,同类的网站已经出现,不需要在这方面在有所考虑,所以到现在,也非常难以在各个学校的网站上面发现这类的交易
11、平台。1.2研究的背景与意义作作为现在的大学生,物质生活条件的极大提高以及无需承担的过多压力,总是会有很多的东西,在还没有达到他的使用寿命之前就已经被淘汰掉了,或者是拥有这样的物品,自己使用完毕,对自己作用不大、弃之可惜而对别人还有用途仍能发挥余热。对这类的物品进行充分的利用,既使它们得到充分的利用,同时还能节省大量的资金,尤其对那些资金有困难的人来说,更是一件好事。而作为校园的主体-学生,拥有着相同的生活环境以及相近的生活学习需要,大家更能各取所需,互惠互利。以我们班个别同学为例,尤其喜好数码科技产品,而这些产品的更新换代之快是人所共知的,但是即使过代了,它的性能还是非常出色的,还是能满足相
12、当大部分的需要的。而为了更换最新的产品,只能重新购买,只能把这些“老物品”低价在处理掉。而对于购买力稍弱而且同样非常喜爱的人来说,这类的东西无论是在性能还是价格上都有着巨大的诱惑。作为学生,很多人的爱好就是看书,书籍看了很多遍之后,它对于个人的价值就变得低廉了,这是就完全可以交易出去而获得的金钱可以购买别的书籍。而校园二手平台网站就能很好的协调双方的需求。让需有所供,供有其需。而且校园里面距离不是很远,便于双方交换、节省时间,出现欺骗等各种危险的可能也大大降低。1.3网站建设的宗旨与目标由于这个网站是主要为了交换物品而存在的,那它的结构就非常的直白,便于人们发现自己需要的东西。用户的首页就是各
13、种选择条件及根据条件显示出的信息列表。由于校园物品所限,物品的种类非常有限,但是可以通过增加数据库里面的类别而添加新的种类。1.4业务功能在网站的所用用户中,只用注册用户和管理员才能进行数据操作。注册用户可以发布信息等在其权限内的操作,管理员负责整个网站的相应权限的操作,如对用户的删除修改等。具体情况如下:a、普通用户:面向所用用户的可以对公布的信息进行浏览、查看和查询。b、注册用户:提交本人需要修改的信息, 权限范围内对自己各项可公开数据信息浏览、查询。c、管理员:用户的管理,信息的管理,对整个网站的维护。1.5网站系统预览用户输入网址之后,看到的就是这样页面,在这里显示所有的发布信息。用户
14、进入系统后就可以注册成为会员、查看商品信息,可以按关键字来查询商品。图1.5.1:首页界面登录后台,可以通过各个菜单查询相应的信息。查询用户信息和发布的信息。图1.5.2:后台欢迎界面2网站采用的技术2.1 S2SH型的网络框架SSH 为 struts2+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。在这个框架下,只需写好主要的java逻辑代码和页面的css美化即可实现网站的建立。在本网站功能的实现过程中,strut2s主要是为了实现在java方法里面页面的转向问题。Spring 为负责 service 和dao 的配置。Hibernate 是负责底
15、层同数据库进行数据传输问题。SSH大大的减轻了网站开发的周期、难度以及降低了后期二次开发与维护的成本。2.2 Struts 的特性及使用实例优点:1. 开源软件,能更深入的了解其内部实现机制。 2.Taglib 标记库,灵活动用,能大大提高开发效率。如果taglib标签使用得当,能很好的提高效率,但是现阶段有这样一种情况:许多具有多年开发经验的的老程序员对这样的新的页面标签使用的非常少,因为原来的页面HTML标签就能实现这样的功能。而新学员或者说新手们却往往喜欢使用新的技术,这就造成了现在这样的情况。3.页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后
16、期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。例如: /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 清晰的结构能使非常明了的解决页面的跳转情况。尤其是现在处于这样的一个情况下:很多程序员开发新的程序少,维护已有的程序
17、非常多。而且二手、三手,四手甚至六手的情况也是大有存在。清晰的结构非常有利于后期的维护,这对后期维护的成本降低有很好的作用。4. 提供Exception处理机制 ,为了能使网站给予用户更好的体验,出现的错误可以给予统计的处理。不过这样的机制在实际的使用过程中使用极少。多说情况下是通过jsp错误页面来统一处理。5. 数据库链接池管理,这个功能在使用的也不多,数据库的链接更多的是是同hibernate,具体可以参考hibernate知识(如下)缺点:Taglib 是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,一旦习惯了,会大大提过编写的效
18、率。 Struts 将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。 ActionForms 使用不便、无法进行单元测试。2.3 Spring 的简略介绍和使用情况1.使用Spring构建的应用程序易于单元测试(多数使用junit进行单元测试)。2.Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。 3.Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs
19、。在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_RE
20、QUIRED,readOnly PROPAGATION_REQUIRED,readOnly 一般的网站要实现的功能基本上就是增删改查,也就是creat,update,delete,select,这些操作在java action中指定相应方法的方法头如:saveUser , updateUser ,deleteUser ,updateUser ,这样就能实现见名知意的效果,如果这些方法不是以上述的配置所命名,就会无法调用该方法。有效的防止命名无法见名知意的问题。2.4 Hibernate 的特性简介和使用情况优点:它是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Jav
21、a程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate的性能非常好,因为它是个轻量级框架,映射的灵活性很出色并且支持各种关系数据库,从一对一到多对多的各种复杂关系。Hibernate 的出现大大减少了代码量。例子部分代码: 未使用hibernate 的话,每一次从数据库里面取数据都要建立数据库连接,这样的操作大大的增加了代码量,造成代码的重复,一旦数据库有所改变,那对代码的修改会非常大,也就是说后期的维护的成本将会非常大。而且hibernate屏蔽了不同数据库之间语言上的细微差别,只要在配置文件中指定相应的数据库和数据库驱动,就能实现从面相关系到面相对象的这样一个过程的转变。如
22、:如果使用的数据库是mysql 那只需指定它的数据库驱动com.mysql.jdbc.Driver;如果数据库变成oracle ,同样也只需要改变它的驱oracle.jdbc.driver.OracleDriver 即可。Hibernate以其极其便捷的操作大大的减少了对数据库直接访问,降低了程序员对数据操作过程的难度,随其也有缺点,但是带来的好处确实非常大的,这也是其流行的根本原因。2.5 JAVA WEB 开发模型Java web 开发的过程,比较流行的开发模式是MVC型结构,也是Model-View-Controller的简称,即模型-视图-控制器。这个过程可以分成视图层、模型层、控制器
23、层,并各自处理自己的任务。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,对于java编写的页面就是jsp页面。在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵
24、的方式。 模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务
25、逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。优势MVC模式就是非常典型的分成模式,分成模式的在计算机领域应用是非常广泛的,它屏蔽了具体的实现过程,只要对调用它的层或者方法提供相应的接口即可,如果某个层需要修改,只要对相应的部分进行修改即可,避免了由于某个部分出现问题导致整个项目崩溃或者停滞的问题。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上缺点有优势当然就有缺点,mvc模式的出现就是把简单的过程复杂化,这也是互联网应用开发普遍出现的问
26、题,但是复杂化是为了让项目或者程序更加具有灵活性。视图对模型数据访问效率有所降低。这个过程可以通过下图来表示。图2.5.1:MVC示意图具体的过程是这样的:用户通过客户端(浏览器)发送的请求,浏览器端就是view层。该请求找到相应的servlet容器,在通过Struts2的配置文件,这就是controller层的操作,再找到相应的处理方法并放回相应的结果并跳转到结果页面。2.6开发工程采用的模型结构在具体的开发过程中由于有集成的开发环境,开发的复杂程度有所降低,所以更加注重业务的逻辑层次和代码的架构。这就需要一个非常清晰的开发架构,现在在具体的开发过程中对于具体的java代码我们采用这样的一种
27、结构。在一个项目名下,分为两部分。一部分是原始的java代码,这类java文件放在src 目录下,在开发的过程中,开发工具自动编写成.class文件并放在具体的实现层包里。.java 和.class 放在不同的目录下,结构比较清晰。在开发的过程中有两种模式,一种是按照类别分成,一种是按照功能分层。按照类别模型划分如下: 按照功能划分模型如下:useraction action user dao news confdao form usernews newsactionconfdao userconf newsformform在具体的开发过程中,这两样使用的都有,但是以第二种方式为主的居多,本人
28、在实际开发的过程中也是按照这样的分层结构,具体的每一层的内容如下:Action文件 这部分放的是所用的action java 代码。Struts2所要调用的方法全部存在于这里Conf 文件 这里存放的是网站的配置信息,包括struts2、hibernate、spring的配置文件Dao 文件 这里存放dao层 代码Form 文件 存放 form 层代码,就收页面提交的数据。Hbm 文件 这里存放po 层和数据库的映射。Service文件 这里存放 service 层的java 方法。具体截图如下:图2.6.1:实际开发过程中的分层结构3系统开发环境和需求分析3.1系统环境及开发的工具硬件环境
29、如今电脑的配置普遍都比较高,一般个人的笔记本上就能运行开发工具。l 处理器:酷睿 i3l 内存:2Gl 硬盘:500G 软件环境l 操作系统:Windows XPl 开发软件:Eclipse Navicat mysql 3.2数据库的选择现在能提供的数据库软件相对还是比较多,为了应对不同的需求,根据自身的条件进行合理的选择。现在主流的数据库软件有mysql,sql server ,oracle,db2等等。部分数据库的适用的条件如下:mysql 是免费的 速度比较快,但是稳定性比较差,在遇到服务器非正常情况关机时数据比较容易 损坏,个人网站或者小型论坛用比较合适。它是一个精巧的SQL数据库管理
30、系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。Orale优势1、处理速度快,非常快2、安全级别高。支持快闪以及完美的恢复,即使硬件坏了 也可以恢复到故障发前的1s。但是作为一款收费大型的软件在本系统中并不合适。本系统使用的数据库是mysql,其特点就是开源、免费,适合小型网站程序的开发,在处理小任务,数量少的表的情况下效率比较高。而且作为一款免费、开源的程序,受到广大中小型企业的青睐与喜爱。而工具Navicat能更好的设计表格,不用通过sql代码一行一行的写,几乎能实现所有mysql等功能,通过对数据库的直接操作,可以及时发现很多错误,是为一款不错的表设计工具。这次之所以选择
31、mysql作为数据库,而没有选择 sql server或则Oracal 等其他工具,是因为能同样的完成功能后面的两个工具非常大,按照的过程出现莫名其妙的错误,多少有些不方便,而且这些主要面向的是大型的程序,对于现在的开发使用masql足以。本次程序的数据库操作软件是Navicat.而主要的开发工具Eclipse ,可以直接的把开发的java代码直接编译,是整个开发工具的核心。Eclipse作为一种集成开发工具,首先解决了开发页面不在在一起出现的同步问题,而且它的扩展性也不错,相应的插件也很多,开发起来的效率大大的提高。3.3页面的设计页面的制作以jsp设计为主JSP的优势(1)一次编写,到处运
32、行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP的劣势(1) 与ASP一
33、样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。编写业务逻辑代码则是以java为主。在Eclipse 下进行系统的开发,以本地电脑作为客户端的同时也兼为服务器端。在后期制作完成之时,将会把本系统放入远程服务器,可以连入外网,进行远程登录操作。3.4页面的样式控制页面的样式控制有两种。传统的方式是使用
34、table标签,正个页面就是一个大的table标签,里面在嵌套各种小table标签。而现在常用的就是css( Cascading Style sheets级联样式表)。在实际的应用之中,很多人的使用方法是这样的:大的结构使用css样式表,在css样式表中嵌套这种table标签。css样式表做出的页面更容易让搜索引擎收录,而table标签更容易控制,form标签往往放在table标签中,在进行提交。CSS作为Web标准推荐的外观控制技术,是有很多优点,简单列举如下。样式代码独立于HTML页面,有利于进行站点的统一控制。这样做能提高开发效率,而且对分工合作有利,页面设计人员只需要使用最基本的标记来
35、呈现数据,而页面的外观控制可以完全交给样式设计人员。控制外观更加容易, CSS代码按其位置可以分为三种:嵌入样式、内联样式和外联样式。内联样式是将样式代码直接内联到标记内,看上去很直观,但它仅针对个别元素进行控制。不可避免的,这种方式将外观控制代码散布于整个HTML文档,和传统的外观控制方式没有本质的不同。如字体。嵌入样式是使用标记将一段CSS语句插入到HTML文档层次结构中。一般将这段CSS语句作为一个独立部分插入在和标记之间。虽然嵌入样式也是将CSS语句直接写在HTML文档中,但它作为一个独立的标记块存在,无论是维护还是修改都要方便得多。嵌入样式一般用于控制一些针对性强的独立样式,例如在整
36、体控制的基础上对某个文档的局部显示细节进行重新定义。外联样式是通过外部样式文件对页面外观进行控制。如3.5需求分析由于本网站的主体功能是方便大家找到各自所需的东西,故而以显示列表的形式,对所发布的信息进行逐一排列。同时又由于每个人需求的不一,添加不同的选择条件,以方便用户更快更准的找到自己需要的东西。对各种信息进行分类。用户在进入网站的首页就能最直观的看到显示的所有信息,减少不必要的路径,在首页就能进行所需要信息的查询。需要发布信息的用户则首先需要注册或者登录。这时就需要加入注册和登录的功能。用户只有在登录网站之后才能进行相应的操作,如发布新的消息、修改已经存在的消息、删除过时的或者是已经交易
37、成的消息等。一般交易的双方是通过电话联系或者是即时通许软件,所以用户的个人资料中要输入自己相关的联系信息。如果在个人信息之中不存这样的联系方式,那也可以再发布消息时,添加相应的联系人、电话或者QQ等。第一基本功能,普通用户可以浏览信息普通用户(无需登录)浏览查询信息图3.5.1:普通用户登录的用户可以具有的基本操作:登录用户用户登录修改密码显示个人信息列表发布信息并浏览已发布信息删除信息启用信息图3.5.2:注册用户功能图后台管理员具有的操作:管理员登录修改密码信息管理添加信息修改信息查询信息列表删除信息用户管理用户查询用户信息修改用户删除图3.5.3:管理员操作功能图网站都是分有前台和后台的
38、。前台的部分是呈现信息的主体部分,这部分主要面向的广大的用户;而另一个后台,则是管理员对网站进行管理和维护的地方。整体的的流程用普通用户、注册用户和管理员组成。普通用户可以再网站上进行信息的浏览,它没有任何的权限,不能进行任何操作。注册用户除了可以浏览信息外,还可以发布信息,进入用户的个人信息页面,可以对自己的信息进行修改。管理员进入后首先要登录,在输入用户名和密码后可以直接登录。管理员可以对网站的用户,发布的信息进行修改,删除,添加等操作。4数据库的设计与网站的部分问题4.1数据库的设计本次程序一共设计了6张表,用于存储整个网站所需要的信息。第一张表t_user,这张表存储整个网站上出现的用
39、户,既可以是普通用户,也可以是管理员,其中包括了用户的基本信息,这一张表是为主表。第二张表是t_tranProduct,这张表保存的是网站上用户发布的信息。第三张表是t_news,记录保存网站发布的公告等。剩下的3个表为自检表。如下是表的具体信息:表4.1用户表(t_user)结构字段类型长度允许空值备注idVarchar32N用户编号,主键Account Varchar32Y账号PasswordVarchar32Y密码UsernameVarchar32Y昵称TelVarchar32Y电话QqVarchar32YQqEmailVarchar32YEmailUsertypeTinyint4Y用户类型CreatetimeVarchar20Y创建时间IsdeletedTinyint4Y是否删除0未删除1删除表4.2发布交易信息表(t_tranproduct)结构字段类型长度允许空值备注IdVarchar32N信息编号,主键TitelVarchar200Y