javaweb现在流行用什么框架

javaweb现在流行的框架有:1、Spring框架;2、Spring MVC框架;3、MyBatis框架;4、Hibernate框架;5、Struts 2框架。Spring框架是一个轻量级的框架,渗透了Java EE 技术的方方面面。Spring 框架是由于软件开发的复杂性而创建的,是一个开源框架。

javaweb现在流行用什么框架-Worktile社区

1、Spring框架

Spring 框架是一个轻量级的框架,渗透了 Java EE 技术的方方面面。Spring 框架是由于软件开发的复杂性而创建的,是一个开源框架。Spring 框架的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合性角度而言,绝大部分 Java 应用都可以从 Spring 框架中受益。

Spring 框架是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,它主要作为依赖注入容器和 AOP 实现存在,还提供了声明式事务、对 DAO 层的支持等简化开发的功能。

Spring 框架可以很方便地与 Spring MVC、Struts 2、MyBatis、Hibernate 等框架集成,其中大名鼎鼎的 SSM 集成框架指的就是基于 Spring MVC + Spring + MyBatis 的技术框架,使用这个集成框架能使应用程序更加健壮、稳固、轻巧和优雅,这也是当前流行的 Java Web 技术框架。

2、Spring MVC框架

Spring MVC 框架属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中,是结构清晰的 MVC Model2 的实现。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块,并且拥有高度的可配置性,支持多种视图技术。它还可以进行定制化开发,使用相当灵活。

此外,Spring 框架整合 Spring MVC 框架是无缝集成,这是一个高性能的架构模式,已越来越广泛地应用于互联网应用的开发中。当使用 Spring 框架进行 Web 开发时,可以选择 Spring MVC 框架或集成其他 MVC 的开发框架,如 Struts 1(现在一般不用)、Struts 2(一般老项目使用)等。

3、MyBatis框架

MyBatis 框架是一个优秀的数据持久层框架,可在实体类和 SQL 语句之间建立映射关系,是一种半自动化的 ORM 实现。Mybatis 的封装性要低于 Hibernate 框架,且性能优异、简单易学,因此应用较为广泛。

MyBatis 框架本是 Apache 的一个开源项目 iBatis,2010 年,这个项目由 Apache software foundation 迁移到 Google code,并且改名为“MyBatis”;2013 年 11 月它迁移到 Github。

“iBatis”一词来源于“internet”和“abatis”的组合,它是一个基于 Java 的持久层框架,其框架包括 SQL Maps 和 Data Access Objects(DAOs)。

4、Hibernate框架

Hibernate 框架不仅是一个优秀的持久化框架,也是一个开放源代码的对象关系映射框架。它对 JDBC 进行了轻量级的对象封装,将 POJO 与数据库表建立映射关系,形成一个全自动的 ORM 框架。Hibernate 框架可以自动生成 SQL 语句,且自动执行,使 Java 程序员可以随心所欲地使用对象编程思维来操纵数据库。

Hibernate 框架还可以应用在任何使用 JDBC 的场合:可以在 Java 的客户端程序使用;也可以在 Servlet/JSP 的 Web 应用中使用;最具革命意义的是,Hibernate 框架可以在应用 EJB 的 Jave EE 架构中取代 CMP,以完成数据持久化的重任。Hibernate 框架已经成为当前主流的数据库持久化框架,并被广泛应用。

5、Struts 2框架

Struts 2 框架以 WebWork 的优秀设计思想为核心,吸收 Struts 框架的部分优点,提供了一个更加简洁的基于 MVC 设计模式实现的 Web 应用程序框架,它本质上相当于一个 Servlet。在 MVC 设计模式中,Struts 2 框架作为控制器(Controller)来建立模型与视图的数据交互。

Struts 2 框架是 Struts 的下一代产品,是在 Struts 1 和 WebWork 技术的基础上进行合并的创新。它采用拦截器的机制来处理用户的请求,可使业务逻辑控制器与 Servlet API 完全脱离开,所以也可以理解是 WebWork 的更新产品。Struts 2 框架充分利用了其他 MVC 框架的经验和教训,使整个框架更加清晰和灵活。

延伸阅读:

什么是javaweb?

Java Web,是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。

Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术:HTML、CSS。动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web。

Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。

文章标题:javaweb现在流行用什么框架,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35982

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月27日 下午8:42
下一篇 2023年1月27日 下午8:45

相关推荐

  • Go、Rust、Swift 的定位和市场分别是什么

    Go语言是一种由Google开发的编程语言,市场主要集中在云计算和大数据处理等领域。Rust语言是一种由Mozilla开发的系统编程语言。市场主要集中在系统编程、和安全领域。Swift语言是一种由苹果公司开发的编程语言,市场主要集中在移动应用开发和服务器端开发等领域。 Go语言 Go语言是一种由Go…

    2023年2月28日
    3100
  • 为什么大部分脚本语言的类和方法都不用大括号

    脚本语言不使用大括号的主要原因是为了使代码更易于阅读和理解。大括号虽然可以使代码块更容易识别,但它们也会在代码中添加额外的字符,使代码更难以阅读。此外,脚本语言的语法较为简单,不需要大量的语法结构来组织代码块。相反,缩进可以使代码块更加清晰明了。 在计算机编程中,脚本语言是一种高级编程语言,它们通常…

    2023年2月28日
    900
  • OpenJDK和SunJDK以及JRE有什么区别

    区别有:1、授权协议的不同;2、OpenJDK不包含Deployment(部署)功能;3、OpenJDK源代码不完整;4、部分源代码用开源代码替换;5、OpenIDK只包含最精简的JDK。6、不能使用Java商标。OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出,而JRL只允…

    2023年2月14日
    4800
  • 在vector的实现中,为什么要通过内嵌vector_base_impl分为两层来实现

    在C++ STL中,vector是一个非常常用的容器,它的实现也非常重要。在vector的实现中,为了提高效率,STL采用了内嵌vector_base_impl分为两层的方法来实现。本文将详细讲解为什么要采用这种方法。 vector的实现方式 vector是一种动态数组,它的内部实现是一个连续的内存…

    2023年3月1日
    1100
  • 虚拟地址与物理地址的区别与联系是什么

    一、虚拟地址与物理地址的区别:1、定义不同;2、位置不同;3、访问不同;4、地址空间不同。定义不同是指,CPU 在程序运行时生成虚拟地址,而物理地址是内存中的一个位置。二、虚拟地址与物理地址的联系:通过地址绑定,虚拟地址可以映射到物理地址。 一、虚拟地址与物理地址的区别 1、定义不同 虚拟地址:CP…

    2023年3月28日
    800
  • 产品经理都使用什么软件

    作为一个产品经理,使用正确的工具和软件可以帮助我们更好地管理产品和团队,提高工作效率,因此在这篇文章中,我们将详细介绍产品经理常用的软件。 1. 项目管理软件 项目管理软件是产品经理的必备工具之一,它可以帮助我们更好地规划、执行和监控项目,让我们更好地掌控项目进展。常见的项目管理软件有Jira、Tr…

    2023年3月3日
    4100
  • 什么是 Functional Programming

    Functional Programming是函数式编程,或称函数程序设计,又称泛函编程,是一种编程典范,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。 Functional Pr…

    2023年2月22日
    1200
  • 产品功能优先级怎么划分

    产品功能优先级划分的排序框架:1、MoSCoW;2、KANO;3、执行 & 收益矩阵;4、延迟成本 / 工期(CD3);5、RICE分数。其中,MoSCoW是一个简单且有效的工具,可以帮助产品发现用户需求,让目标用户从中获益并找到价值。 1、MoSCoW MoSCoW是一个简单且有效的工具,…

    2023年1月2日
    9000
  • 持续交付的核心原则包括哪些

    持续交付的核心原则包括以下7点:1、自动化;2、不断地进行测试;3、更小的和更多的发布更新版本;4、使用自动化的基准套件;5、使用源代码控制;6、使用代码审查系统;7、使用Pull Request。 这里有7个能够使开发和交付周期变得高效的持续交付的原则: 1、自动化 虽然越来越多的组织认识到他们的…

    2022年10月17日
    30800
  • war包和jar包区别是什么

    war包和jar包区别在于以下几个方面:1、war是一个baiweb模块,其中需要包括WEB-INF,是可以du直接运行zhi的WEB模块;jar一般只是包括一dao些class文件,在声明了Main_class之后是可以用java命令运行的。 一、区别 1、war是一个baiweb模块,其中需要包…

    2023年2月21日
    3500

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部