一 .Struts框架:struts是开源软件。

使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。

如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

1.流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。

2.架构:Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。

Model部分:由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分:该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。

Controller组件:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。   

系统核心控制器,对应上边的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。

二.Spring框架

Spring是一个解决了许多在J2EE开发中常见的的问题的强大框架。Spring的架构基础是基于使用JavaBean属性的Inversion of Control 容器。Spring提供了唯一的数据管理抽象包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping 解决方案。

三.Hibernate框架

Hibernate 是一个开源代码的对象关系映射框架,对JDBC进行了轻量级的的对象封装,使用对象变成思维来操作数据库。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。

1.Session接口:负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。

2.SessionFactory接口:负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

3.Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

4.Transaction接口:负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

5.Query和Criteria接口:负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

以上,是自己对三大框架的理解,如有雷同,纯属意外。

谈谈对三大框架的理解相关推荐

  1. 谈谈对集合框架的理解?

    集合框架包括集合不映射(Collection and Map) List 元素有先后次序的集合, 元素有 index 位置, 元素可以重复,继承自 Collection 接口,实现类: ArrayLi ...

  2. 如何理解 ssh 三大框架

    作者:meepo 链接:https://www.zhihu.com/question/30525693/answer/199488905 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  3. 【面试常问】谈谈你对集合框架的理解?

    谈谈你对集合框架的理解? 在面试中被问到这个问题该咋么回答呢?这个问题是我认为最难回答的一个问题,原因就他问的范围太大了不知道该咋么回答:就我而言遇到这种问题首先给他说个总的,从最大的开始说起,在说一 ...

  4. java中三个基本框架_对于Java基础者应该如何理解Java中的三大框架!

    三大框架:Struts+Hibernate+Spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  5. SSH三大框架的知识题

    Struts 谈谈你对Struts的理解. 答: 1.struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是Act ...

  6. java 三大框架面试题

    1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory3.打开Session 4.创建事务Transation 5.持久 ...

  7. java ssh 和mvc_[转]JAVA三大框架SSH和MVC

    Java-SSH(MVC) JAVA三大框架的各自作用 hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就是 ...

  8. java ssh 和mvc_JAVA三大框架SSH和MVC

    Java-SSH(MVC) JAVA三大框架的各自作用 hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就是 ...

  9. Java新手如何学习三大框架

    Java新手如何学习Spring.Strurs.Hibernate三大框架? 1. 学习方法 1.1 给我一个可以运行的学习Demo 曾经有过面向百度学习框架的同学,一定会有这种感受,哗啦一搜,各种框 ...

  10. SSH三大框架面试题集锦

    1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory3.打开Session 4.创建事务Transation 5.持久 ...

最新文章

  1. 如何禁止页面被 jframe 引用_PD1该如何使用?靶向能否转用PD1?
  2. C指针原理(18)-C指针基础
  3. 抢人饭碗了!推荐一款全自动的机器学习建模神器PyCaret
  4. python定义只有一个元素的元组
  5. [Java] 蓝桥杯ALGO-139 算法训练 s01串
  6. 《笨办法学python》第39课—— 列表的操作
  7. Java工程师的职业规划,上个月成功拿到阿里P7offer
  8. 什么是 DOORS?
  9. c语言中函数值类型的定义,C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。(A)float (B)int (C)long (D)double...
  10. 修改wav格式音频比特率的标准方法
  11. labview与PLC通讯
  12. php selectradio和checkbox默认选择的实现方法
  13. 什么剪辑软件好用?视频剪辑这样做
  14. 盛水容器问题php代码,盛水容器的形状如图2-13所示,已知各水面高程为▽1=1.15m,▽2=0.68m,▽3=0.44m...
  15. Vue指令之条件渲染
  16. centos8上实现私有CA和证书申请颁发
  17. Disney Springs - 迪士尼之泉
  18. 高盐废水如何处理,离子交换树脂在高盐废水中的应用
  19. ffmpeg命令行视频剪辑与拼接
  20. java算时差,java计算时间差及比较时间

热门文章

  1. Win10无线投屏功能安装失败解决办法
  2. ucinet计算聚类系数大于1怎么办_ucinet6聚类分析
  3. 5G工业路由器 物联网终端应用
  4. 黑马程序员机器学习Day1学习笔记
  5. java ascii 排序_java 根据 ASCII 码表顺序升序排列
  6. NekoHTML学习笔记
  7. Java、Java Web面试题(来源于MLDN、北方网)
  8. tomcat启动startup出现闪退问题
  9. 锐捷客户端linux登录密码忘记,锐捷S3760忘记密码的恢复方法
  10. VBA实战技巧精粹014:关于Range总结