struts1.x、struts2架构和原理有很大区别。
struts2
控制器C
ActionServlet(struts入口,请求都会通过它来处理,再由它来决定相应的action处理请求),
action代表动作,用户注册、购买商品、业务逻辑代码
struts.xml请求转发给哪个Action,Action处理完成后,由哪个jsp相应
模型M
主要由ActionForm实现、保存数据,数据验证,类似于javabean
视图V
jsp显示的数据来自ActionForm,Action保存在作用范围request、session、application的数据
struts请求:(一次http请求由action,actionform,jsp协作完成)客户端发送请求,servletAction收到请求后,根据请求路径和参数判断由哪个action处理,如execute方法调用完成后,根据返回的判断由哪个jsp来作为响应
只需要修改jsp,action,有低粘膜性。
hibernate
ORM(对象关系映射模型):数据库中表,实体对象
数据持久化:Configuration SessionFactory Session (Session对象是非线性安全的,增删改查)Transaction Query
spring
IOC:Bean工厂读Bean定义文件,管理对象加载,维护Bean对象与其他Bean对象的依赖关系。利用反射机制
<bean id="" class="">
<property name="" value=""></property>
</bean>
当属性引用另外的Bean
<bean id="" class="">
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="UserDao">
<property name="" value=""></property>
</bean>
spring把事务作为中间件,通过配置的形式使用事务,而不是java代码,底层是动态代理技术,针对接口,dao层对象通过动态代理让spring接管事务。这种声明式事务基于AOP实现。AOP是解决横切问题,如事务服务、安全、记录日志,是拦截器。
spring框架本身提供JDBC Hibernate事务管理器。
三大框架联系struts处理请求时要创建Action对象,需要引用业务层对象,业务层对象却在spring容器中,业务层处理过程中,会调用DAO接口方法,完成数据增删改查。在web.xml中配置spring需要的监听器。jar包放在WEB-INF/lib下。
本文介绍了Struts2架构及工作原理,详细解释了Struts2如何通过Action处理请求,并与Spring框架进行整合以实现业务逻辑处理。同时,还探讨了Hibernate在数据持久化中的应用。

2305

被折叠的 条评论
为什么被折叠?



