




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文献综述题目校内商品交易系统的设计与实现专业班级软件技术JAVA1202院(系)软件学院完成时间2014年3月26日SSH集成框架业务逻辑的实现方法1业务逻辑简述11业务逻辑的概述什么是业务逻辑所谓业务逻辑就是业务规则,除了简单的增删改查的数据访问之外,还会涉及到一些复杂的功能流程和功能要求,这些被称为业务逻辑。就像在论坛用户注册,包括要向邮箱发送电子邮件,如果发送失败,则注册失败1。12业务逻辑的特征业务逻辑的特征与数据操作的关系可能包含多次数据操作,可能同时包含数据操作和非数据操作,可能只有非数据操作。业务逻辑在维护方面的特征在业务逻辑运行过程中表示策略的逻辑通常会经常修改。所以在实现业务逻辑的过程中我们会遇到很多需要解决的问题多次数据操作时如何使这些逻辑实现方法处于同一SESSION下,非数据库事务与数据库事务如何归整到同一事务,复杂的权限控制会置于业务逻辑中,如何优化这些繁琐的代码如何处理业务规则频繁变化这些就是我们接下来介绍的SSH集成框架所要解决的问题1。2SSH集成框架简述21STRUTSSTRUTS是通过采用JAVASERVLET/JSP技术,实现了基于JAVAEE,WEB应用的MVC设计模式的应用框架。使用STRUTS可以减少我们在运用MVC设计模型来开发WEB应用的时间。在服务器启动后,STRUTS根据WEBXML加载ACTIONSERVLET读取STRUTSCONFIGXML文件内容到内存3。22SPRINGSPRING是为了解决企业应用开发的复杂性而创建的。SPRING是基于JAVABEAN来完成以前只可能由EJB完成的事情。SPRING的用途不仅用于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何JAVA应用都可以从SPRING中受益4。出现,使工作站、文件服务器结构的第一代MIS系统渐渐淡出主流MIS阵营。23HIBERNATEHIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在JAVASERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的JAVA应用中。3SSH集成框架业务逻辑的实现方法以上简单介绍了STRUTS,SPRING,HIBERNATE它们各自的实现方式,然而将它们整合在一起,又是如何实现业务逻辑的呢执行效果又如何呢可想而知,整合后的框架会更强大,执行效率会更快。基于分开的三大框架,集成后的框架便是质的飞跃在实现业务逻辑时,HIBERNATE主要执行以下操作首先通CONFIGURATIONCONFIGURE读取并解析HIBERNATECFGXML配置文件,再由HIBERNATECFGXML中的读取并解析映射信息,然后通过CONFIGBUILDSESSIONFACTORY代码以创建SESSIONFACTORY,再执行SESSIONFACTORYOPENSESSION打开SESSION,接下来执行SESSIONBEGINTRANSACTION创建TRANSACTION事务,再通过PERSISTENTOPERATE实现持久化操作,最后通过SESSIONGETTRANSACTIONCOMMIT提交事务,然后关闭SESSION,关闭SESSTIONFACTORY。在HIBERNATE实现了它所应负责的业务逻辑的同时还要处理一个很重要的问题加载和缓存问题。那么HIBERNATE如何完成这些要求的呢HIBERNATE通过如下操作延迟加载在HIBERNATE2中通过操作实体对象和集合延迟加载;HIBERNATE3中提供了属性的延迟加载功能。当HIBERNATE在查询数据的时候,数据并没有存在于内存中,当程序真正对数据进行操作时,对象才存在于内存中,这样实现了延迟加载,它节省了服务器的内存开销,从而提高了服务器的性能。最后谈论下HIBERNATE的缓存机制。首先介绍一些缓存的概念内部缓存存在HIBERNATE中又叫一级缓存,属于应用事务级别缓存;应用缓存及分布式缓存称为二级缓存,其中分布式缓存是指数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被频繁使用的缓存;最后还有三级缓存。接下来具体介绍一下各级缓存一级缓存是SESSION级的缓存也叫事务级的缓存,只缓存实体,生命周期和SESSION一致,不能对其进行管理,不用显式地调用;二级缓存是SESSIONFACTORY缓存也叫做进程级缓存,使用第三方插件实现,也是只缓存实体,生命周期和SESSIONFACTORY一致,可以进行管理。其中用到了第三方插件,我们用EHCACHE可以先在HIBERNATECFGXML文件中加入TRUE,同时在映射中也要显式地调用在二级缓存中,如果关联的表发生了修改,那么查询缓存的生命周期也结束了。如果要再次查询该表,就要在程序中手动启用查询缓存QUERYSETCACHEABLETRUE5。在实现系统的业务逻辑时,STRUTS主要操作是WEB应用启动时会加载初始化ACTIONSERVLET,ACTIONSERVLET,从STRUTSCONFIGXML文件中读取配置信息,它们存放到各种配置对象。当ACTIONSERVLET接收到一个客户请求时,将执行如下流程首先检索和用户请求匹配的ACTIONMAPPING实例,如果不存在,就返回请求路径无效信息,如果ACTIONFORM实例不存在,就创建一个ACTIONFORM对象,把客户提交的表单数据保存到ACTIONFORM对象中,再根据配置信息决定是否需要表单验证,如果需要验证,就调用ACTIONFORM的VALIDATE方法。如果ACTIONFORM的VALIDATE方法返回NULL或返回一个不包含ACTIONMESSAGE的ACTUIBERRORS对象,就表示表单验证成功。接下来ACTIONSERVLET根据ACTIONMAPPING所包含的映射信息决定将请求转发给哪个ACTION,如果相应的ACTION实例不存在,就先创建这个实例,然后再调用ACTION的EXECUTE方法。然后ACTION的EXECUTE方法返回一个ACTIONFORWARD对象,ACTIONSERVLET在把客户请求转发给ACTIONFORWARD对象指向的JSP组件。最后ACTIONFORWARD对象指向JSP组件生成动态网页,返回给客户6。而SPRING主要执行的操作是SPRINGMVC将所有的请求都提交给DISPATCHERSERVLET,它会委托应用系统的其他模块负责对请求进行真正的处理工作。然后通过DISPATCHERSERVLET查询一个或多个HANDLERMAPPING找到处理请求的CONTROLLER。由DISPATCHERSERVLET将请求提交到目标CONTROLLER,待CONTROLLER进行业务逻辑处理后,会返回一个MODELANDVIEW,再由DISPATHCHER查询一个或多个视图解析器VIEWRESOLVER,找到MODELANDVIEW对象指的视图对象,最后视图对象负责渲染返回给客户端8。这样从表面上看STRUTS、SPRING、HIBERNATE在系统中各司其责,但实质上它们内在联系非常之多,它们是一个整体,如果离开了其中任意一个分支,那么系统的业务逻辑就不会实现的那么自然,也不会最大的发挥SSH集成框架的优越其他框架的功能。整个SSH集成框架贯穿于系统的表示层、业务逻辑层、数据持久层和域模块层,帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的WEB应用程序。SSH集成框架业务逻辑实现方法可以总的概括为通过JSP页面实现交互界面,负责传送请求REQUEST和接收响应RESPONSE,然后STRUTS根据配置文件STRUTSCONFIGXML将ACTIONSERVLET接收到的REQUEST委派给相应的ACTION处理。管理服务组件的SPRINGIOC容器负责向ACTION提供业务模型MODEL组件和该组件的协作对象数据处理DAO组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。最后依赖HIBERNATE的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果9。结论通过上面的论述,我们对业务逻辑和SSH集成框架有了初步的了解,并学习了SSH实现业务逻辑的方法使用STRUTS作为系统的整体基础架构,负责MVC的分离,在STRUTS框架的模型部分,控制业务跳转,利用HIBERNATE框架对持久层提供支持,SPRING做管理,管理STRUTS和HIBERNATE。具体做法是用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的JAVA对象,然后编写基本的DAODATA、ACCESS、OBJECTS接口,并给出HIBERNATE的DAO实现,采用HIBERNATE架构实现的DAO类来实现JAVA类与数据库之间的转换和访问,最后由SPRING做管理,管理STRUTS和HIBERNATE。基于SSH集成框架,我们不仅可以提高开发效率,优化代码结构,也提高了代码的执行效率和系统的质量,而且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。SSH集成框架帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的WEB应用程序。所以SSH集成框架是值得我们深入了解的技术。参考文献1张志峰JAVAWEB技术整合应用与项目实践JSPSERVLETSTRUTSHIBERNATESPRINGM北京清华大学出版社,201362李刚轻量级J2EE企业应用实战STRUTSSPRINGHIBERNATE整合开发M北京电子工业出版社,200741581593曹晓钢,唐勇,夏昕深入浅出HIBERNATEM北京电子工业出版社,2005630394林信良SPRING20技术手册M北京电子工业出版社,2002832385沃尔斯SPRINGINACTIONM北京人民邮电出版社,2006356596程杰大话设计模式M北京清华大学出版社,20071248497孙卫琴JAVA面向对象编程M北京电子工业出版社,200671681728阎宏JAVA与模式M北京电子工业出版社,20021088969郭峰我的J2EE成功之路M北京电子工业出版社,20091110811110高洪岩至简SSH精通JAVAWEB实用开发技术M北京电子工业出版社,2009119910311张立科JAVA信息管理系统开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新闻从业资格考试试题及答案
- 2025年行政职业能力测验试题及答案
- 2025年物联网技术与应用基础考题及答案
- 2025年物业经理职业考试复习试卷及答案
- Resorthiomycin-生命科学试剂-MCE
- Desthiobiotin-PEG3-NHS-ester-生命科学试剂-MCE
- 2025年绿色建筑设计考试试卷及答案
- 2025年教师资格证测试试题及答案
- 2025年景观设计师考试试卷及答案解析
- 2025年计算机模拟与设计考试试卷及答案
- 彩钢板屋面维修施工方案
- 兰州大学《中国经济史》2023-2024学年第二学期期末试卷
- 青岛版(2024)小学科学一年级下册《木头》说课稿及反思
- 课件:《马克思主义基本原理概论》(23版):第七章 共产主义崇高理想及其最终实现
- 网络空间中的群体行为分析-深度研究
- 间歇性胃管插管护理
- 统计业务培训
- 2025-2030年中国水利工程勘察设计市场运营状况与发展潜力分析报告
- 海康智慧工地解决方案
- 小学科学新教科版一年级下册全册教案(共13课)(2025春详细版)
- 自发性气胸PBL护理教学查房
评论
0/150
提交评论