struts,Hiernate,sping三个框架的理解

一:Struts
对于采用Struts应用的web程序,在web应用启动时web.xml就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把他们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中。当ActionServlet接受到一个客户请求时,执行如下流程:
1,检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效信息
2,如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中
3,根据配置信息决定是否需要表单验证,如果需要,就调用ActionForm的validate()方法
4,如果ActionForm的validate()方法返回null或返回一个不包括ActionMessage的ActionErrors对象,表示表单验证成功,如果失败不会再创建Action对象并调用Action的execute()方法
5,ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法
6,Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件
7,ActionForward对象指向的JSp组件生成动态网页,返回给客户

1.ActionServlet核心控制器会拦截所有*.do的请求
2.从struts-config.xml中找到用户请求的Action
3.通过struts-config.xml中的配置再去找这个Action对应的ActionForm,并实例化
4.把用户填写的数据自动填充到ActionForm中(调用ActionForm中的setXX()方法填充)
5.同时把ActionForm放入到指定的范围中(request,session)
6.然后把请求转发给Action
7.Action获取ActionForm中的值然后调用业务逻辑层实现功能
8.在通过ActionMapping查找Actionforward实现转发;

Struts的核心是Servlet,Servlet的工作流程是:当用户请求访问某个Servlet时,Servlet容器将创建一个ServletRequest对象和ServletResponse对象,在ServletRequest对象中封装了用户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给用户所请求的Servlet。Servlet把响应结果写到ServletResponse中,然后由Servlet容器把响应结果传给用户

Struts实现MVC的机制:Struts实质上就是JSP Model2的基础上实现的一个MVC框架,在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成

JSP Model1的原理:JSP页面既要负责业务流程控制,又要负责提供表示层数据,同时充当视图和控制器
JSP Model2的原理:它是一种联合使用JSP与Servlet来提供动态内容服务的方法,把视图和控制器分离了

二、Hibernate
 1.读取并解析配置文件
      2.读取并解析映射信息,创建SessionFactory
      3.打开Sesssion
      4.创建事务Transation
      5.持久化操作
      6.提交事务
      7.关闭Session
      8.关闭SesstionFactory

三:Spring
Spring 已经用过一段时间了,感觉Spring是个很不错的框架。内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml  Spring的配置
文件来动态的创建对象,和调用对象里的方法的 。

Spring工作原理还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过配置类达到的。


Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明
管理的(Spring根据这些配置 内部通过反射去动态的组装对象)要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)

Spring工作原理里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了
也就基本上掌握了Spring. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值