常听人提起三大框架,关于三大框架,做了如下了解:

                   三大框架:Struts+Hibernate+Spring

java三大框架主要用来做WEN应用。

Struts主要负责表示层的显示,Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),Hibernate主要是数据持久化到数据库,再用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有一个mapping的标签就是用来做文件映射的。当你在浏览器上输入URL得知的时候,文件就会根据你写的名称对应到一个JAVA文件,根据java文件里编写的内容显示在浏览器上,就是一个网页。

一 .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的有效交互,并增加了现实功能。

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

二.Spring框架:

Spring是一个解决了许多在J2EE开发中常见的的问题的强大框架。Springle提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类变成的好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control 容器。然而Spring在使用IoC容器作为构建玩关注所有架构层层的完整解决方案方面是独一无二的。Spring提供了唯一的数据管理抽象包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping 解决方案。

三.Hibernate框架:

           Hibernate 是一个开源代码的对象关系映射框架,对JDBC惊醒了费城轻量级的的对象封装,使得Java程序员可以随心所欲的使用对象变成思维来操作数据库。

Hebernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用最具革命意义的事,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语句两种表达方式。

java三大框架介绍相关推荐

  1. Java三大框架 介绍

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

  2. Java三大框架SSH与MVC的设计模式

    现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate.似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和 ...

  3. Java 三大框架集成项目结构

    用MyEclipse开发的Java 三大框架集成项目,典型结构如下. 一 展开项目名称,首先是src文件夹:存放实现业务功能的java源文件*.java: struts2的action代码文件存放在a ...

  4. java集合框架介绍_Java集合框架介绍

    Java集合框架介绍 发布时间:2020-06-26 17:00:14 来源:亿速云 阅读:85 作者:Leah 这篇文章将为大家详细讲解有关Java集合框架介绍,文章内容质量较高,因此小编分享给大家 ...

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

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

  6. Java通讯框架介绍

    Java通讯框架介绍 Java通讯框架,有时也被称为网络服务器,其实就是封装IO操作,并提供更高级的API接口.目前比较流行的框架就是:MINA.Cindy.QuickServer等.前段时间为了缩短 ...

  7. Java三大框架,小白必知!

    对于学习Java技术的小伙伴来说,相信或多或少都会听到关于Java编程语言的三大框架.Java作为编程语言界元老级的存在,这么些年来不仅平稳的发展,而且也渐渐成为众多企业首选的编程语言.另外是,优秀的 ...

  8. Java三大框架SSH面试题锦集

    Struts,Spring,Hibernate三大框架 1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory3.打开S ...

  9. java三大框架是什么?

    常说的三大框架指:SSH 即:Spring.Struts.Hibernate Spring:采用了控制反转的技术,管理Bean,降低了各层之间的耦合,功能强大的组件粘合济,能够将你的所有的java功能 ...

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

    Java是世界第一编程语言,这已经达成共识,是毋庸置疑的真理.框架是程序员们必学的知识点,而且是十分重要的应用,Spring.Struts.Hibernate也是经典中的经典,最常用的框架类型. 作为 ...

最新文章

  1. 【CV】深度学习中Epoch, Batch, Iteration的含义
  2. 第五次作业:四则运算之升级
  3. floodFill函数
  4. 用 python 实现一个多线程网页下载器
  5. 七、股票中的布朗运动和pandas.dataframe.pct_change()
  6. GDCM:DICOM文件的覆盖测试程序
  7. ORACLE SELECT INTO NO_DATA_FOUND问题
  8. 如何对java分装,Angular4 JSONP + JAVA代码
  9. 从零开始学架构三 高性能
  10. 关于电脑周边配件的问题
  11. java 8 kafka 0.82,运行kafka-console-producer.sh的异常(0.8.1.1)
  12. CASE WHEN 及 SELECT CASE WHEN的用法
  13. vba取一列数中非0的行_vba excel怎么获取指定工作表的行数、列数
  14. linux存放日志的目录下,linux系统各种日志存储路径和详细介绍
  15. 计算机思维与计算文化,计算文化与计算思维基础
  16. 2018_09_21_生活记录_参加人工智能大会
  17. 弹出USB大容量存储设备时出问题的解决方案
  18. win10计算机如何切换用户名,win10怎么改用户名_win10怎么更改用户名
  19. R plot图片背景设置为透明_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...
  20. 【回眸】有显示器如何设置串口登录树莓派4B

热门文章

  1. C#昵图素材下载器源码可下我图、包图、千图等(带数据库)
  2. 学生管理系统(Java实现)
  3. 计算机组成原理笔记(王道考研) 第三章:存储系统
  4. DTW算法——Matlab实现
  5. 40行代码自己动手写pdf转word小工具(文末附工具下载)
  6. 2019Java视频教程-玩转oracle
  7. 十大免费SSL证书:网站免费添加HTTPS加密
  8. 微型计算机的软件系统分成,会计电算化辅导:微型计算机软件系统
  9. python label字体_Matplotlib xlabel,Arial格式,带一个斜体字
  10. 移动通信原理B-------例题解答2