




免费预览已结束,剩余58页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
厦门大学本科生毕业论文本 科 毕 业 论 文 二手教科书交易平台: “站内信维护”及“界面设计”模块Platform of Secondhand Textbook: Module of“Maintenance of Inner Mail ”and “Interface Design”姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘要随着互联网和个人电脑在大学校园的普及和应用,互联网作为学生传播信息资源的工具已经越来越重要。建设一个专为高校服务的符合高校特点的二手教科书交易平台,实现旧书的再利用,不仅能为广大学子提供方便,为学校和家长节约教育成本,同时也能促进环保节约型校园的发展。本文详细讨论了系统中“站内信维护”和“界面设计”模块的实现。其中,“站内信维护”模块完成对会员站内信的管理,保障了交易双方可以通过收发站内信进行一对一的在线交流。“界面设计”部分,则按照简明、整洁、清新的整体风格,提供符合用户操作习惯的友好界面。本系统使用Java EE技术,结合Struts,Spring,Hibernate框架结构,采用 MySql作为数据库进行开发。 系统主要的设计目标是对二手教科书的供求信息的发布和管理,为同学们提供线下交易的交流平台。关键词: 交易;站内信;Java EEAbstractAlong with the fast development of computer network and the spread of personal computer in university campus, the network is more and more important as the tool with which information is disseminated for students. To build a specifically trading platform of the second-hand textbooks for university students, re-use the used books can not only provide convenience for the majority of students, schools and parents to save for education costs, but also can promote the development of environmental conservation in campus. The dissertation discussed how to design the module of “The Maintenance of Inner Mail” and “Interface Design” of the system in detail. With them, the module of “The Maintenance of Inner Mail” realizes the function that it manages the inner mail of the member of the platform, makes sure that the member of the platform can exchange their opinion online one-to-one by sending and receiving letters. And, the section of “Interface Design”, according to the simple, clean, fresh and overall style, offers customers a user-friendly interface. The system uses Java EE technology, combining Struts, spring, Hibernate framework, using MySql as database to develop. The design objective of the system is to manage the release of information of the demand and supply of second-hand textbooks. In order to provide an off-line trading exchange platform for students.Key words: transaction; inner mail; Java EE.厦门大学本科生毕业论文目 录第一章 引 言11.1 项目背景11.2 开发意义21.3 国内外研究现状分析21.4 系统设计目标及组织结构2第二章 开发工具及使用技术介绍42.1 开发工具介绍42.1.1 开发平台:Windows XP Professional42.1.2 开发工具:MyEclipse .3 数据库:MySql42.1.4 数据库设计:SQLYOG42.1.5 WEB服务器:Tomcat52.1.6 软件建模:Microsoft Office Visio 200352.2 开发技术介绍52.2.1 Java EE技术介绍52.2.2 MVC技术介绍62.2.3 Struts技术介绍82.2.4 Spring技术介绍102.2.5 Hibernate技术介绍122.2.6 JSP技术介绍14第三章 系统总体设163.1 项目开发任务163.2 系统模块设计173.3 系统结构173.4 系统部署及架构193.4.1系统部署193.4.2 系统开发架构203.5 数据库设计233.5.1 数据信息233.5.2 数据流233.5.3 实体关系243.5.4 确定数据表263.5.5建立数据库30第四章 站内信维护模块详细设计324.1站内信维护模块用例324.1.1 模块用例图324.1.2 用例的详细说明324.2 模块开发内容344.3 站内信维护顺序图344.4 模块类图374.4.1 Innermail类374.4.2 InnermailForm类374.4.3 InnermailAction类384.4.4 InnermailDAO类394.5站内信维护模块界面设计及使用流程40第五章 界面总体实现模块485.1界面效果的整体性、一致性485.1.1 界面的色彩及风格与系统界面统一485.1.2 操作流程的系统化485.2界面效果的个性化485.2.1 特有的界面构架485.2.2 合理的界面图标485.2.3 界面色彩的个性化设置485.3 界面视觉元素495.3.1 图形图像元素的质量495.3.2线条色块与图形图像的结合495.4界面展示49第六章 结束语51参考文献52致 谢53Contents Chapter 1 Introduction11.1 Origin of The System11.2 Analysis of domestic and foreign research21.3 The goal of the System design21.4 Significance for Developing2 Chapter 2 Tools And Technology In Use42.1 Tool in use42.1.1 Development platform:Windows XP Professional42.1.2 Development tool:MyEclipse .3 Database:MySql42.1.4 Tool for database design:SQLYOG42.1.5 WEB Server:Tomcat52.1.6 Software Modeling:Microsoft Office Visio 200352.2 Technology in use52.2.1 Java EE introduction52.2.2 MVC introduction62.2.3 Struts introduction82.2.4 Spring introduction102.2.5 Hibernate introduction122.2.6 JSP introduction14Chapter 3 System Design163.1 Responsibity of The System163.2 The module design of the system173.3 system deployment architecture173.4 Deployment and structure of the system193.4.1 System deployment193.4.2 System development framework203.5 Database Design233.5.1 Data233.5.2 Data Flow233.5.3 Entity Relationship243.5.4 Determine the data tables263.5.5 Establish a database30Chapter 4 The Maintenance of Inner Mail module324.1 Use case the maintenance of inner mail module324.1.1 Use case diagram324.1.2 Detailed description of use case324.2 The development content of modules344.3 Sequence Diagrams of the maintenance of inner mail module344.4 Class Diagram of the module374.4.1 Class Innermail374.4.2 Class InnermailForm374.4.3 Class InnermailAction384.4.4 Class InnermailDAO394.5 Interface design and the use of process of the module40 Chapter 5 The Overall Achievement Of The Interface Module485.1 The effect of interfaces integrity, consistency485.1.1 Interface, color and style unity with the system interface485.1.2 Systematic processes485.2 Personalized interface effect485.2.1 Framework-specific interface485.2.2 Reasonable interface icon485.2.3 Personalized interface color settings485.3 Visual interface elements495.3.1 The quality of graphics elements495.3.2 Color of line and graphics combination of images495.4 Interface display49 Chapter 6 Summary51References52Acknowledgement5354第一章 引 言1.1 项目背景每年毕业生离校时都会丢弃或转赠大量的学习资料,这些旧书往往得不到合理的处理。如果能够建立一个场所,使得这些旧书能够以较为廉价的价格卖给所需的同学,无论对于需要处理废旧物的同学,还是对于需要这些物品的同学,都是非常有利的。然而,现在大专院校的同学们对旧书的处理大概有以下几个方式:部分转送给下一届同学。由于认识的人毕竟有限,这样可能使有价值的旧书找不到合适的主人,不能充分被利用。同时,可能存在其他院系的同学想求取其他专业相关的书籍而不得。到论坛上发帖求购旧书或出售旧书。这虽然不失为一个为旧书寻找新主人的好方法,但是论坛毕竟资料有限,而且难于管理,也不方便查找。用户流量也少,缺乏针对性。到旧书跳蚤市场求购旧书或出售旧书。尽管可以为旧书的再利用提供一个交易平台,但是由于毕业生时间有限,而且在书籍的寻找方面也存在很大的弊端。这样会给买卖双方造成很大的不便。所以,我们需要一个场所,这个场所能解决上述这些问题,能结合高校实际,为广大同学提供一个方便、快捷的交易平台。这个场所就是一个校园小型二手教科书网站。随着时代的发展,在网上购物对我们来说已经非常熟悉了,与传统的购物方式相比,网上购物更加方便、快捷,同时也充满乐趣。对毕业生来说,这更是一个很好的途径,在毕业前通常都会有很多事要忙,没有太多的时间来处理一些废旧书籍,而这些所谓的“废旧书籍”很可能对其他人来说还是有利用价值的。“二手教科书交易平台”的建设,正好满足了大家的需要。1.2 开发意义随着高校信息化建设的日益发展,网络基本已经铺设到了校园的各个地方,而校园二手教科书交易还处在一种故缺乏组织平台,比较混乱的状态。校园二手教科书交易的电子化成为校园信息化建设大形势下的要求。区别于大型电子商务站点,校园二手教科书交易平台的所面对的对象更具有集中性的特点。因此,开发一套范围可控、商品集中、交易安全、方式多样等特点的在线交易平台,势必会成为学生不可缺少的交易工具,在另一程度上也优化了校园环境,促进了“环保节约”校园的建设。1.3 国内外研究现状分析随着时代的不断进步,科学技术日新月异的发展,现在已进入了一个崭新的时代网络时代。网络的普及,全球化的发展,导致了电子商务的突飞猛进,作为应用最为广泛的网上购物系统则是电子商务中的一枝奇葩。Internet上很多运营成功的购物网站使得我们足不出户就可以购买到自己所需要的物品。网上购物无论是在商品种类、商品价格还是商品质量上都给用户提供了更为广阔的选择空间,用户只需在相关网站浏览一些页面就能找到适合自己需要的商品。但是目前基于Internet的二手书交易平台,面向大众,书籍分类比较笼统,交易行为没有保障。缺少针对校园旧书处理的交易平台。1.4 系统设计目标及组织结构一个电子商务性的网站必须有自己完整的系统,除了功能强大、易于维护外,关键是出了问题后能快速进行修补,而这些不是临时就能做出来的,必须预先做好充分的准备。设计并推出校园在线二手教科书交易平台,并不意味着功能越强大,就越能让用户满意,关键在于它符合用户习惯,方便他们的应用,并且要有特色,本系统在参照众多电子商务网站的基础上,引用了一些常见的模块,并糅合了自身的特点,系统相关功能模块如下所列:(1)用户管理模块(2)教科书交易模块(3)非教科书交易模块(4)教科书信息管理模块(5)系统管理模块本系统是在根据本校学生的需求,设计开发的。系统开发采用了JAVA EE技术。本文主要的主要组织结构如下: 第一部分是引言。简要描述项目起源、开发意义、使用的工具和技术。并且介绍了开发流程以及作者负责的工作。 第二部分开发工具及技术介绍。简要介绍了本系统采用的软件工具,以及使用到的基本技术。 第三部分是系统的总体设计。确定用户需求后,明确系统工作环境和业务模块。在详细了解业务流程后,确定系统采用B/S架构部署,对进行数据库设计。在系统正式开发前,完成网站的建设。 第四部分是介绍了作者负责的站内信维护模块的详细设计。该部分详细描述了该模块包括的用例,各用例间关系,实体类,实体类之间关系,以及模块间关系。系统各模块的开发的基础和依据。按照各模块功能流程,详细介绍了界面设计和实现。 第五部分简要介绍了作者负责的界面设计模块的处理方式。并展示界面中的首页。 第六部分结束语。阐述了本系统开发的心得体会,以及开发后的总结。第二章 开发工具及使用技术介绍2.1 开发工具介绍本系统采用B/S(Brower/Server)架构,即浏览器和服务器结构。2.1.1 开发平台:Windows XP Professional 2.1.2 开发工具:MyEclipse 6.0.1MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。由于MyEclipse插件丰富,并完整支持Struts和Hibernate框架,能有效的提高开发效率。所以本系统采用MyEclipse作为开发工具。2.1.3 数据库:MySqlMySql是一个小型关系型数据库管理系统,开发者为瑞典MYSQL AB公司。在2008年1月16号被Sun公司收购。目前MySql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySql作为网站数据库。虽然MySql与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySql自有它的不足之处,如规模小、功能有限。但是对于一般的个人使用者和中小型企业来说,MySql提供的功能已经绰绰有余,而且由于MySql是开放源码软件,因此可以大大降低总体拥有成本。2.1.4 数据库设计:SQLYOGSQLYOG是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库。使用SQLYOG是作为数据库设计工具,具有如下优点:快速备份和恢复数据;以GRID / TEXT 格式显示结果; 批量执行SQL脚本文件; 以直观的表格界面建立或编辑数据表;以直观的表格界面编辑数据;创建或删除数据库;操纵数据库的各种权限:库、表、字段;支持对数据表的各种高级属性修改。2.1.5 WEB服务器:TomcatTomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的SERVLET和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的SERVLET 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。2.1.6 软件建模:Microsoft Office Visio 2003Visio是Microsoft提供的一款建模工具,由于与VS同是一个公司的产品,所以它们之间具有良好的结合性。Visio不仅包括软件工程的一些建模,还涉及其他建筑、网络、建筑工程等建模。Visio中可以全面饮用UML语言中所有的事务、关系和图,更好地体现图形化设计的意义,Visio基于Microsoft的Visual基础,其可视化设计允许操作者通过拖曳就能轻松的完成模块的建设。2.2 开发技术介绍2.2.1 Java EE技术介绍Java EE是美国Sun公司推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。当今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客户之间的响应时间,这就需要存在一种简捷,快速的服务于企业,合作伙伴和雇员之间。典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。这些服务要具备以下的特点:a高可用性:来满足现在的全球商业环境 b安全性:保护用户的隐私和企业数据的安全 c可依赖性和可扩展性:保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。JAVAEE正是降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快速的展开,并能够更轻松的面对竞争中的压力。JAVAEE通过定义一种标准的结构来实现它的优势,如下: aJAVAEE Application Programming Model -一种用于开发多层次,瘦型客户用户程序的标准设计模型; bJAVAEE Platform-一个标准的平台,用来整合JAVAEE的应用程序,指定一系列的接口和方法; cJAVAEE Compatibility Test Suite-一套兼容测试组件,用来检测产品是否同JAVAEE 平台兼容; dJAVAEE Reference Implementation-用来示范JAVAEE的能力。2.2.2 MVC技术介绍模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。1、模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.2、视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。3、控制器(controller)控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。图2-1:MVC组件类型的关系和功能MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。 早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象。 管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于JAVAEE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能 。JSP Model 1 与 JSP Model 2SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用并不尽如人意 。图2-2:JSP Model 1图2-3:JSP Model 2Model2 容易使系统出现多个Controller,并且对页面导航的处理比较复杂, 有些人觉得model2仍不够好,于是Craig R. McClanahan 2000年5月 提交了一个WEB framework给Java Community.这就是后来的Struts.2001年7月,Struts1.0,正式发布。该项目也成为了Apache Jakarta的子项目之一 。Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑。2.2.3 Struts技术介绍Struts是Apache组织的一个开放源码项目。Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。Struts可以大大提高Web应用的开发速度。如果在Web应用中恰到好处地使用Struts,将把从头开始设计框架的时间节省下来,使得开发人员可以把精力集中在如何解决实际业务问题上。Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由Java BeanEJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括Action Servlet类和Action类,Action Servlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Struts-config.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts-config.xml是与Struts相关的特殊信息配置的描述文件,在该配置文件中,每一个Action的映射信息都通过一个元素来配置。这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用,在内存中,每一个元素都对应一个org.apache.struts.action.ActionMapping类的实例。如图2-4所示:图2-4:从MVC角度观察struts框架中的组件Struts的工作流程:对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中。当ActionServlet接收到一个客户请求时,将执行如下流程:(1) 检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的信息。(2) 如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3) 根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的validate()方法。(4) 如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功,(5) ActionServlet 根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。(6) Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。(7) ActionForward对象指向的JSP组件生成动态网页,返回给客户。若在流程4中ActionForm的validate()方法返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败,此时ActionServlet将直接把请求转发给包含用户提交表单的JSP组件。在这种情况下,不会再创建Action对象并调用Action的execute()方法。2.2.4 Spring技术介绍 Spring是J2EE应用程序框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件。不过,更严格地讲它是针对Bean的生命周期进行管理的轻量级容器(Lightweight container),可以单独利用Spring构筑应用程序,也可以和Struts,Webwork,Tapestry等众多Web应用程序框架组合使用,并且可以与Swing等桌面应用程序API组合。所以Spring并不仅仅只能应用在J2EE中,也可以应用在桌面应用及小应用程序中。针对Spring开发的组件不需要任何外部库。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。Spring 框架是一个分层架构,由7个定义良好的模块组成。如图2-5所示:图2-5:Spring框架组成组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: (1) 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 (2) Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 (3) Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 (4) Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 (5) Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。(6) Spring Web 模块: Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。(7) Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、IText 和 POI。Spring的过人之处在于:它宣称式的事务处理,依懒性的绑定和持久性的支持;控制转入简化JDBC;Spring既是全面的又是模块化的;它的设计依赖注入就是要帮助你编写易于测试的代码;Spring不会给你的工程添加对其他的框架依赖;Spring也许称得上是个一站式的解决方案,提供了一个典型应用所需要的大部分基础架构。2.2.5 Hibernate技术介绍Hibernate是一个开放源代码的对象关系映射框架,是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping (ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。Hibernate不仅仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用Hibernate QL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。一个非常简要的Hibernate体系结构的概要图,如图2-6所示:图2-6:一个简要的Hibernate体系结构的概要图图2.3显示了hibernate的工作原理,它是利用数据库以及其他一些配置文件如perties,XML Mapping等来为应用程序提供数据持久化服务的。Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API都被抽象了,Hibernate会替你照管所有的细节。(1) SessionFactory(org.hibernate.SessionFactory):针对耽搁数据库映射关系经过编译后的内存镜像,它也是线程安全的(不可变)。它是生成Session的工厂,本身要用到ConnectionProvider。该对象可以在进程或集群的级别上,为那些事务之间可以重用的数据提供的二级缓存。(2) Session(org.hibernate.Session):表示应用程序与持久储存层之间交互操作的一个单线程对象,此对象生存期很短。其隐藏了JDBC连接,也是Transaction的工厂。其会持有一个针对持久化对象的必选(第一级)缓存,在遍历对象图或者根据持久化标识查找对象时用到。(3) 持久的对象及其集合:带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可以是普通的JavaBeans/POJO,唯一特殊的是他们正与(仅仅一个)Session相关联。这个Session被关闭的同时,这些对象也会脱离持久化状态,可以被应用程序的任何层自由使用。(例如,用作跟表示层打交道的数据传输对象data transfer object。)(4) 瞬态(transient)以及脱管(detached)的对象及其集合:持久类没有与Session相关的实例。他们可能是在被应用程序实例化后,尚未进行持久化的对象。也可能是因为实例化他们的Session已经被关闭而脱离持久化的对象。(5) 事务Transaction(org.hibernate.Transaction):(可选的)应用程序用来指定原子操作单元范围的对象,它是单线程的,生存期很短。它通过抽象将应用从底层具体的JDBC、JTA 以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但是事务边界的开启与关闭(无论是使用底层的API还是使用Transaction对象)是必不可少的。(6) ConnectionProvider(org.hibernate.connection.ConnectonProvider):生成JDBC连接的工厂(同时也起到连接池的作用)。它通过抽象将应用从底层的Datasource或DriverManager隔离开。仅供开发者扩展/实现用,并不暴露给应用程序使用。(7) TransactionFactory(org.hibernate.connection.TransactionFactory):生成Transaction对象实例的工厂。仅供开发者扩展/实现用,并不暴露给应用程序使用。Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案;对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。不管怎样,Hibernate一定可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表现形式转换到一系列的对象去。2.2.6 JSP技术介绍JSP(JavaServerPage)是由Sun公司倡导、许多别的公司参与一起建立的一种新动态网页技术标准,类似其他技术标准,如ASP、PHP或是ColdFusion,等等。在传统的网页HTML文件(*.htm,*html)中加入Java程序片段(Scriptlet)和JSP标签,构成了JSP网页(*.jsp)。Servlet/JSP Container收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式响应给客户端。其中程序片段可以是:操作数据库、重新定向网页以及发送E-Mail等等,这些都是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP称为Server-Side Language。作为Java平台的一部分,JavaServer Page技术拥有Java语言“一次编写,各处执行”的特点。依赖于重复使用跨平台的组件来执行更复杂的运算、数据处理。第三章 系统总体设计3.1 项目开发任务本项目由何培林、韩璐、祁秉钰、赖桂龙和我共同负责设计开发。项目进行中,对于遇到的问题,我们在自己努力寻找解决的方法的同时,也得到了指导老师的鼓励和帮助。按照软件工程开发的基本方法,本系统开发流程如图3-1所示:图3-1:系统开发流程本系统开发,本人主要负责站内信模块的数据库设计、详细设计、代码开发以及测试工作。并完成界面设计,包括布局,风格,Logo的设计等。3.2 系统模块设计二手教科书交易平台主要为买卖双方提供交易平台, 在这个交易平台上, 不是简单地把出卖商品在网上罗列供买方查询,更重要地是通过一系列管理功能为买卖物品者提供更方便的操作和更多有用的信息来促成交易。因为本系统主要针对的是二手教科书,为了突出这一特点,我们将二手书分为教科书和非教科书两种。该系统平台的功能模块如图3-2所示:图3-2:系统功能模块图各模块功能如下:1用户管理模块包括:用户注册,登陆,用户信息维护,管理员管理。2教科书交易模块包括:教科书交易管理和教科书交易信息关系。3非教科书交易模块包括:非教科书交易管理和教科书交易信息关系。4教科书信息管理模块包括:教科书管理,教科书所属关系管理,用户查找指定教科书等5系统管理模块包括:站内信维护,院系学科维护。3.3 系统结构该系统功能模块之间的协调分工如下:1. 本系统用户分为未注册用户,注册会员,及管理员。2. 本系统分为教科书交易及非教科书交易两个功能。系统只维护教科书信息,会员针对系统已有的教科书发布交易信息。而非教科书信息由会员发布非教科书交易信息时附带发布。针对本系统的主要功能,考虑到用户的实际需求,确定本系统最终需求为:1. 未注册用户查看已发布的二手书(包括二手教科书与二手非教科书,下同)需求信息。二手书交易平台只是一个信息发布平台,并不介入用户线下实体交易,所以会员发布的交易信息对任何用户均可见。2. 普通用户注册成为系统会员。普通用户填写个人资料后,可注册成为系统会员。本系统为校园二手教科书交易平台,会员信息要求以真实身份注册,注册成功将不能修改帐号和真实姓名。3. 会员登录、退出。会员登陆是本系统为用户提供合理的教科书交易和非教科书交易信息,并完成交易流程的前提。会员完成操作后可以退出系统已确保自身资料安全。4. 会员修改维护自身资料信息。会员登录后,可以修改自身的信息,如联系方式和住址等,并能修改登陆密码(不能修改昵称和真实姓名)。5. 会员管理自己发布的二手书需求信息。会员登录后,对自身已经发布的二手书需求信息(包括求购信息和出售信息)进行管理。可以修改已发布的需求信息,删除已经交易或者过期的需求信息。6. 会员管理自己的站内信。会员可以管理自己发送的站内信和收到的站内信。7. 会员查找教科书。会员可以通过2个路径查找想要的教科书。一为通过教科书相关信息搜索,如书名,作者,ISBN等,二根据院系学科年份来查找,通过学院,系别,专业,学科,年份等信息,查看该信息下使用哪些教科书。8. 会员教科书交易。会员根据找到的教科书,可以查找本教科书的所有求购信息和出售信息,可以查看每条信息详细的情况(该书的新旧情况及二手价格),并能查看发布本条信息的用户详细信息(方便线下交易),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册验船师资格考试(A级船舶检验法律法规)考前模拟试题及答案一
- 2025年知识产权法考试备考模拟题及答案
- 贵港公务员面试题及答案
- 桃花心木课件
- 2025年注册会计师CPA面试宝典及模拟题
- 2025年中级经济师面试实战模拟财务管理案例分析预测题集萃
- 公务员审计面试题及答案
- 2026届北京市延庆区市级名校化学高三第一学期期末综合测试模拟试题含解析
- 2025年旅游公司招聘导游面试预测题与技巧
- 2026届江苏省启东市建新中学化学高三上期中达标检测试题含解析
- 温室气体 产品碳足迹量化方法与要求 光缆
- 5.2.1分析人类活动对生态环境的影响课件-人教版生物八年级上册1
- 2025年建筑师考试答案-建筑师考试答案解析
- 新疆的历史文化课件
- 安全生产网格化管理工作实施方案
- 代理记账风险管理制度
- DBJ04-T487-2025 高大模板支撑体系监测技术标准
- T/CGAS 026.1-2023瓶装液化石油气管理规范第1部分:安全管理
- PEP人教版六年级上册英语课后辅导计划
- 餐饮劳务合同协议书样本
- 中医护理灸疗技术操作规范:督灸
评论
0/150
提交评论