三大框架的运行原理

一: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.

一: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.


相关文章

  • 质量管理教学大纲
  • 质量管理学教学大纲 一.课程基本信息 1.课程名称 (中文):质量管理学 课程名称(英文): Quality Management 2.学时: 44学时 3.先修课程 :高等数学(微积分,解析几何,微分方程),概率论与数理统计(统计方法.概 ...查看


  • 门户技术及单点登录技术
  • GVSUN 门户松耦合Portal框架 及SSO单点登录部分 上海庚商网络信息技术有限公司 文档日期:二〇一三年五月 文档版本: 本文档所包含的信息是受上海中医药大学和上海庚商网络信息技术有限公司所签署的"保密信息交换协议&quo ...查看


  • 地铁直流系统中框架保护原理及处理程序
  • 地铁直流系统中框架保护原理及处理程序 摘要:分析城市轨道交通直流系统设置框架保护的原因及动作原理,阐述直流框架保护电流保护.电压保护及钢轨电位限制装置动作配合关系,了解直流系统框架保护应急处理程序. 关键词:直流框架保护 钢轨电位限制 处理 ...查看


  • 软件设计毕业论文
  • 河南质量工程职业学院 毕业论文 <软件工程>课程设计的度量与评价系统 The Software Engineering Course Design of Measuring and Evaluating System 题 目: ...查看


  • OLEC曝光机培训资料
  • OLEC 曝光机培训学习资料 一.OLEC 曝光机结构简图及主要构成 上灯箱 上灯箱 传送马达 下灯箱 二.主要部件的组成 1.灯箱 1)组成:反光罩.曝光灯.灯罩及开合马达.冷却风机.曝光灯触发控制板.光感应器.限位 开关等. 2)作用: ...查看


  • 膜生物反应器(MBR)工艺流程.原理及使用范围全解析
  • 1概述 MBR一体化设备利用膜生物反应器(MBR)进行污水处理及回用的一体化设备,其具有膜生物反应器的所有优点:出水水质好,运行成本低.系统抗冲击性强.污泥量少,自动化程度高等,另外,作为一体化设备,其具有占地面积小,便于集成.它既可以作为 ...查看


  • DSP在捷联惯性导航技术中的应用
  • @9M在捷联惯性导航技术中的应用 王 勇 (国防科技大学电子科学工程与技术学院,长沙('""B#) 由于没有稳定平台,需要进行大量的数学运算来实现摘要对于捷联惯性导航系统, 数学平台,所以导航对计算装置的性能要求就很高. ...查看


  • 中级经济师考试经济基础知识讲义
  • <经济基础知识>考试大纲(中级) 2008年4月8日 17:45 阅读次数:1604 第一部分经济学 一.社会主义初级阶段和社会主义市场经济 考试目的 本章阐述了社会主义初级阶段和社会主义市场经济的基本理论.通过本章的考试,检验 ...查看


  • 保利文化广场暖通空调设计
  • 武汉保利文化广场暖通空调设计 中南建筑设计院股份有限公司 韦明 摘要:该项目为一栋超高层综合性建筑,规模大,结构形式复杂,装修标准高,建筑外立面对通风百叶的布置要求苛刻.本文详细介绍了工程概况.冷热源.空调.通风与防排烟.节能设计的特点,并 ...查看


热门内容