谈谈对三大框架的理解
来源:互联网 发布:pdo php extension 编辑:程序博客网 时间:2024/04/30 22:04
一 .Struts框架:struts是开源软件。
使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。
1.流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。
2.架构:Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
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语句两种表达方式。
以上,是自己对三大框架的理解,如有雷同,纯属意外。
- 谈谈对三大框架的理解
- 谈谈你对流行框架的理解
- 谈谈你对Spring框架的理解
- 谈谈对Spring框架的理解
- 面试中对三大框架ssh的理解
- 浅谈对ssh三大框架的理解
- 谈谈我对3G的理解-从国内三大运营商角度出发(1)
- 谈谈我对3G的理解-从国内三大运营商角度出发(2)
- 三大框架的理解
- 谈谈SSH三大框架
- 谈谈java三大框架
- 请谈谈你对大数据的理解
- 流行的框架之谈谈对Struts的理解。
- 流行的框架之谈谈对Hibernate的理解
- 简单谈谈自己对SSH框架的理解
- 三大框架理解
- 三大框架的理解---笔记
- SSH三大框架的理解
- 在MAC下配置mysql 5.6.31 及以上的 数据库的默认编码问题
- 换行符
- WinDbg配置和使用基础
- POJ 3150 循环矩阵的应用
- 插入flash的简单代码
- 谈谈对三大框架的理解
- leetcode 283. Move Zeroes
- scv分割时注意换行符是"\r\n"
- NYOJ_129_树的判定 _【并差集】
- 苹果自己的统计
- Android进阶自定义控件之滑动开关
- 实习总结(二)——常用技术细节和其他
- 使用git往github上提交代码时出现[packet_write_wait connection to xx.xx.xx.xx Broken pipe]错误的解决办法
- VS2015 +EF6 连接MYSQL数据库生成实体