[转]SSH框架简介
转自 https://blog.csdn.net/wangmei4968/article/details/49364101
这篇关于SSH简介的博客似乎有些姗姗来迟,但是只要总结,什么时候都不算晚。下面是项目一览图:
什么是SSH框架呢?
SSH是struts+spring+hibernate集成的web应用程序开源框架。
Struts:用来控制的,核心控制器是Controller。
Spring:对Struts和Hibernate进行管理,整合的。
Hiernate:操控数据库。
SSH是怎样一个流程?
SSH从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。
先来一下知识点大扫盲活动。
struts标签库:Struts2默认的表达式语言是OGNL(Object-Graph Navigation Language),通过它可以存取对象的任意属性、调用对象的方法、遍历整个对象的结构图、实现字段类型转换等功能。例如:<s:iterator var=”cartItem” value=”#session.cart.cartItems”>
JSP: HTML文件中插入Java程序段和JSP标记。
web.xml: Struts2核心过滤器和监听器
struts.xml: 管理应用中的Action映射,及Action处理结果和物理资源之间的映射。
ApplicationContext.xml: 整合了struts和Hibernate。
*.hbm.xml:O/R Mapping(Object Relational Mapping)映射文件,实体和表的映射关系通过XML来描述的文件。在项目启动的时候加载到内存中。
PO:Persistent Object,持久化对象。
扫盲完成后,官方解释就容易理解多了。
整体的调用关系:JSP–Action–Service–DAO–PO–数据库
在表示层中,首先通过JSP页面实现交互,负责接收请求(request)和传送请求(response),Struts根据配置文件(struts.xml)将ActionServlet(Struts的内置核心控制器组件)接收到的Request请求委派给Action处理。
在业务层中,管理服务器组建的Spring IOC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组建完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升和保持数据的完整性。
在持久层,依赖于Hibernate的对象化映射和数据库交互,处理DAO组建请求的数据,并返回处理结果。
SSH框架有什么优点?
1.spring管理对象的实例化,把对象的创建和获取放到外部,更加的灵活方便。
2.Hibernate避免了JDBC连接数据库的冗余繁杂
3.各层分工明细,实现了各层之间的解耦,代码更加灵活。
如果发现不当之处,欢迎不吝赐教~
转载请注明出处哦~