java三大框架介绍「建议收藏」

java三大框架介绍「建议收藏」常听人提起三大框架,关于三大框架,做了如下了解:           三大框架:Struts+Hibernate+Spring          java三大框架主要用来做WEN应用。          Struts主要负责表示层的显示,Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),Hibernate主要是数据…

大家好,又见面了,我是你们的朋友全栈君。

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

                   三大框架: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语句两种表达方式。

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156346.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hashmap和hashtable和hashset的区别_为什么要用hashmap

    hashmap和hashtable和hashset的区别_为什么要用hashmap1.HashMap1) hashmap的数据结构     Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示:     当我们往hashmap中put元素的时候,先根据key的hash值得到这个元素在数组中的位置(即下标),然后就可以把这个元素放到对应的位置中了。如果这个元素所在的位子上已经存放有其他元素了,那么在同一个位子上的元素将以链表的形

    2025年12月2日
    7
  • Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 – 非HA方式 (一台服务器)「建议收藏」

    Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 – 非HA方式 (一台服务器)「建议收藏」本教程是在Centos6下使用yum来安装CDH5版本的hadoop的教程,适合新手并且只有一个linux服务器的情况下最快速度的上手hadoop

    2022年5月5日
    114
  • java ajax教程_JAVA AJAX教程第一章—初识AJAX

    java ajax教程_JAVA AJAX教程第一章—初识AJAX既然是认识AJAX,理论和实践相结合,这样让自己学的更快,理解更深入,我分一下几点:1、认识传统的同步交互方式和AJAX解决方案2、AJAX使用到的技术3、实例体验AJAX一、同步交互方式和AJAX解决方案传统的WEB应用是同步交互的方式,这种同步交互方式的处理过程如下图什么是同步交互方式:首先,用户向HTTP服务器提交一个处理请求。接着,服务器端接收到请求后,按照预先编写好的程序中的…

    2022年7月7日
    25
  • 数据结构项目——二叉树实现

    数据结构项目——二叉树实现案例分析:写出下面二叉树的先、中、后序遍历输出的结果:注:先自己推算,然后用程序验算。先序遍历的结果:A F H D C B J G E I K中序遍历的结果:D H C F J B G A I E K后序遍历的结果:D C H J G B F I K E A代码如下:#include “pch.h”#include &…

    2022年8月18日
    7
  • Java编码规范

    1.Java命名约定除了以下几个特例之外,命名时应始终采用完整的英文描述符。此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。1.1一般概念n尽量使用完整的

    2021年12月24日
    48
  • js 数组插入删除[通俗易懂]

    js 数组插入删除[通俗易懂]常用的方法是遍历数组,然后使用splice()删除这里我们使用es6中findIndex()查找,然后删除functiondeleteFromArray(arr,compare){constindex=arr.findIndex(compare)if(index>-1){arr.splice(index,1)}}插入数据functioninsertArray(arr,val,compare,maxLen){//返回位置consti

    2022年9月30日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号