三大框架:Struts+Hibernate+Spring

Java三大框架主要用来做WEB应用。

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的有效交互,并增加了现实功能。对应上图的JSP部分。

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三大框架SSH与MVC的设计模式

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

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

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

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

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

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

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

  5. Java通讯框架介绍

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

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

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

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

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

  8. java三大框架是什么?

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

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

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

最新文章

  1. 哑谜,回文和暴力之美
  2. 太赞了!副业月入3W的技术大佬的公众号,学起来!
  3. 使用Java代码在SAP Marketing Cloud上创建Contact数据
  4. Sprig boot自动配置
  5. 可达龙博客的第一篇文
  6. 1、lo4j.properties
  7. linux下内存的统计和内存泄露问题的定位-转
  8. “21天好习惯”第一期-16
  9. java二重积分_用java实现二重积分的计算
  10. 基于C语言实现比赛评分系统
  11. SAP PS 后台配置
  12. Linux高级网络开发奇妙之旅
  13. IDEA连接mysql后,schemas中无表格
  14. 教你手把手基于java实现兼职招聘系统、基于SSM+mysql的Web校园招聘网站
  15. 【目标跟踪】|STARK
  16. Linux iptables 防火墙 添加删除 端口
  17. 从ECU和CPU视角理解AutoSar网络管理
  18. Flying Squirrel Creek
  19. 云计算、公有云、私有云、混合云等
  20. nCode:DesignLife案例教程二十

热门文章

  1. 北京媒体邀约公司:新品发布会活动怎么邀请北京媒体记者采访报道
  2. ipad air4和ipad air3 的区别
  3. c语言判断文件为空,javascript如何判断文件是否为空?
  4. pythonturtle写字_对于Python turtle的学习笔记
  5. 儿童玩具外贸出口认证知识干货
  6. golang github.com/Nik-U/pbc使用前windows配置
  7. EVE-NG 连接ASA ASDM
  8. Vue ElementUi 校验邮箱手机号--大全
  9. iPhone 6s/6s Plus 或 9.25 上市 可惜这些高配置都是鬼扯
  10. 用新商业美学赋能产品创新 洛可可与联想来酷达成战略合作