- 12
- 0
- 约3.63千字
- 约 5页
- 2016-11-22 发布于北京
- 举报
Struts2、Spring和Hibernate框架技术分析.doc
Struts2、Spring和Hibernate框架技术分析
摘 要 随着科学技术的不断更新,企业对计算机软件的要求越来越高,不仅在功能方面提高了要求,而且在性能方面也有很高的要求,因此,推动了计算机编程技术的发展,目前Struts2、Spring和Hibernate三大开源框架已经成为软件系统开发应用的首选技术,大大的提高了项目的开发效率、可扩展性和可维护性。文章阐述了Struts2框架工作原理、Hibernate框架的作用及其对象状态以及Spring框架的模块。
关键词 Struts2框架;Spring框架;Hibernate框架
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)20-0049-01
1 Struts2、Spring和Hibernate三大框架简介
框架是JavaEE开发领域炙手可热的一个名词。目前技术领域存在很多种框架技术,能够有效的解决JavaEE应用开发中很多通用的问题,其中Struts2、Hibernate以及Spring是目前最主流的、使用最广泛的开源框架,每个框架专注于解决不同的问题,具有很强的代表性。其中,Struts2框架是一个MVC框架;Hibernate框架是一个ORM框架;而Spring框架是一个综合性的框架,是一个轻量级的解决方案。这三个框架往往各司其职,在应用中的不同层面发挥其作用。
2 Struts2框架工作原理
Struts2框架已经盛行多年,然而Struts2与Struts1之间并不是扩展和升级的关系。Struts2是著名框架WebWork的扩展,WebWork是一个很优秀的MVC框架,但是由于是一个新兴的框架,在一段时间内没有被广泛使用。后来,Struts和WebWork社区决定将二者合并,于是推出了Struts2框架。Struts2框架兼具Struts1和WebWork的优点,从而得到了广泛的使用。
Struts2的工作原理比较复杂:
1)客户端向服务器端提交请求,容器初始化HttpServletRequest请求对象。
2)请求对象被一系列的Servlet过滤器过滤。Struts2中的过滤器有3种:①ActionContextCleanUp过滤器,是一个可选的过滤器,主要用来集成其他框架;②其他插件的核心过滤器,譬如:SiteMesh插件的过滤器;③FilterDispatcher过滤器,是Struts2 API中提供的过滤器,是必选的过滤器。
3)FilterDispatcher过滤器调用ActionMapper,决定该请求是否需要调用某个Action。
4)如果请求需要调用某个Action,ActionMapper将通知FilterDispatcher过滤器把请求的处理交给ActionProxy来处理。
5)ActionProxy通过Configuration Manager解析框架的配置文件struts.xml,找到需要调用的Action类。
6)ActionProxy将创建一个ActionInvocation实例。
7)ActionInvocation实例使用命令模式回调Action中的execute方法,Action调用业务逻辑类完成业务逻辑。在调用Action的前后,将调用该Action涉及的相关拦截器。
8)Action执行完毕后,ActionInvocation根据struts.xml中的配置找到对应的返回结果,返回给JSP、FreeMarker等模版文件。
3 Hibernate框架的作用及其对象状态
Hibernate是一个ORM(Object-Relational Mapping)框架,主要作用是简化应用的数据持久层编程,不需要编程人员花大量的时间编写SQL和JDBC代码。可见,Hibernate框架位于应用层和数据库之间,解决数据持久层编程。Hibernate框架主要包括持久化对象(persistent Object):是Hibernate框架中非常重要的组成部分,简称为PO。PO用来映射数据库中的记录,可以通过修改PO来修改数据库记录;包括Hibernate属性文件(perties):使用Hibernate进行数据持久层编程,相关的数据库访问信息需要在Hibernate属性文件中配置,譬如,数据库驱动类、连接串、用户名、密码等,也可以使用名字为hibernate.cfg.xml的xml文件配置属性;还包括Hibernate映射文件(XML Mapping):持久化对象映射数据库中的记录,其映射关系依靠Hibernate框架的映射文件配置,映射文件是XML文件,往往使用*.hbm.xml形式命名,其中*是
您可能关注的文档
- MATLAB在电力电子教学实践中的探究.doc
- Maya三维动画教学中“任务驱动教学法”和“项目教学法”的运用.doc
- Maya动画的分类与实现.doc
- Mdaemon与高校教学信息门户的整合应用研究.doc
- Mezyad沙漠景观公园对我国沙漠化防治的意义.doc
- MIMO多跳簇结构无线传感器网络的路由算法及其能耗研究.doc
- MPS190HP—II中速磨煤机日常维护与检修.doc
- MPSK信号一种有效的SNR估计算法.doc
- MSP430单片机在调控LED植物智能补光系统中的应用.doc
- Multisim仿真在电子技术课程设计中的应用研究.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- BSC-1100ⅡA2-X和1500A2生物安全柜产品使用说明书.pdf VIP
- 2026年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 高中物理校本课程教材.docx VIP
- 南京医科大学-药理学-期末复习资料汇总.pdf VIP
- 2025年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 北京航空航天大学《飞行器设计》期末考核试卷(含答案).docx VIP
- 第七章 part3幼儿园教职工配备标准 (暂行)(课件)2024年《学前教育政策法规》同步教学(高教版).pptx VIP
- 2024年山东职业学院高职单招(英语/数学/语文)笔试历年真题摘选含答案解析.docx
- 复旦大学保险公司财务管理第五章 保险公司财务比率分析.ppt VIP
- 患者十大安全目标(2025)PPT课件.pptx VIP
原创力文档

文档评论(0)