SSH框架原理及流程
SSH框架是Struts、Spring和Hibernate三个框架的集成,它不是一个单独的框架,而是将这三个框架紧密地结合在一起,用于构建灵活、易于扩展的多层Web应用程序。SSH框架的系统可以分为四层:表示层、业务逻辑层、数据持久层和域模块层。
Struts2工作原理
Struts2是SSH框架中的Web层,负责处理HTTP请求。Struts2的工作原理可以分为以下几个步骤:
1. 初始化一个指向servlet容器的请求。
2. 请求经过web.xml中配置的过滤器过滤,FilterDispatcher(Struts2控制器的核心)询问ActionMapper是否需要调用某个Action来处理这个请求。
3. 如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy。
4. ActionProxy通过配置文件Struts.xml配置文件找到需要调用的Action类。
5. ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。
6. 在调用Action之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)。
7. Action执行完毕后,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。
Hibernate工作原理
Hibernate是SSH框架中的数据持久层,负责将Java对象与数据库表对应。Hibernate的工作原理可以分为以下几个步骤:
1. 读取并解析配置文件。
2. 读取并解析映射信息,创建SessionFactory。
3. 打开Session。
4. 创建事务Transation。
5. 执行持久化操作。
6. 提交事务。
7. 关闭Session。
8. 关闭SessionFactory。
Hibernate对象的状态和生命周期
Hibernate对象可以分为三种状态:瞬时态、新持久态和游离态。瞬时态对象是使用new操作符初始化的对象,没有任何跟数据库表相关联的行为。持久态对象是由session统一管理的对象,持久态对象的操作与数据库同步。游离态对象是曾经与session关联的对象,但现在不在session缓存中。
Spring工作原理
Spring是SSH框架中的管理容器,负责管理业务逻辑层。Spring的工作原理可以分为以下几个步骤:
1. 管理业务逻辑层的生命周期。
2. 负责调用业务逻辑服务层。
3. 将Struts、Hibernate集成在一起,构成一个完整的Web应用程序。
SSH框架的流程
SSH框架的流程可以大致分为以下几个步骤:
1. JSP页面发送HTTP请求。
2. Struts负责控制Service(业务逻辑处理类)。
3. Service层调用Hibernate进行数据持久化操作。
4. Hibernate将数据持久化到数据库中。
5. 请求结果返回到JSP页面。
SSH框架是一个集成的Web应用程序框架,它将Struts、Spring和Hibernate三个框架紧密地结合在一起,构成一个灵活、易于扩展的多层Web应用程序。