五大JAVA Web框架的优缺点对比Spring MVC领先

jopen 1年前
   <p>毫无疑问,Java 是当今世界上最重要的编程语言之一。js 框架给程序员提供了一个可以构建程序的坚实基础。它包括定义的类和功能,用于硬件设备管理,与系统软件交互并处理输入,让开发人员变得更轻松。JavaScript 框架旨在支持动态网站,Web 服务,Web 资源和 Web 应用程序的开发。在本文中,搜集了 5 个关于 Java Web 框架的信息。</p>    <p style="text-align:center"><img alt="五大JAVA Web框架的优缺点对比Spring MVC领先" src="https://simg.open-open.com/show/9905483a327c01737c9cc12a8fb9b10d.jpg" /></p>    <p><strong>1. Spring MVC - Java Web 框架</strong></p>    <p>自离首次发布 10 多年以来,Spring MVC 框架仍然领先于竞争对手。随着时间的推移,它扩展成一个完整的 MVC 框架,并不断演变成一个全面的 Java 框架。作为集成特殊应用科学的分层 J2EE / Java 框架,该框架为软件工程师提供了用于 Web 应用程序配置,应用程序开发和安全项目的完整工具包。该框架以其发达的生态系统而闻名,它提供了许多附加选项,从 SOAP Web 服务,REST API 到安全加密和授权。</p>    <p><strong>优点:</strong></p>    <ul>     <li> <p>增强模块化的轻量级容器</p> </li>     <li> <p>可以跨各种平台进行部署</p> </li>     <li> <p>灵活的依赖注入使用</p> </li>     <li> <p>包括 XML,Java 和注释配置的三路配置</p> </li>     <li> <p>通过 POJO's缓解了注射测试的数据</p> </li>    </ul>    <p>缺点:</p>    <ul>     <li> <p>学习曲线比较陡峭</p> </li>     <li> <p>新手实施比较困难</p> </li>     <li> <p>需要花费时间部署</p> </li>    </ul>    <p><strong>2. JSF - Java Web 框架</strong></p>    <p>Oracle 认为 JSF 是一个实用网络 Java 框架,旨在简化基于 Web 的 UI 的集成开发。虽然这个框架在 Java 开发方面不是很好,但是 Oracle 提供的文档很容易使用。这是一种标准化的技术,拥有丰富的工具和库,可以为你在高度复杂的应用程序中铺平道路。JSF 规范允许启用标准用户界面组件的重用和扩展。它减少了创建和维护 Java 应用程序在上运行和在目标客户端上呈现 UI 应用程序的痛苦。不仅如此,它还提供简单的数据传输和可重用的 UI 组件。</p>    <p>优点  </p>    <ul>     <li> <p>由于它可以创建可重复使用的组件,因此效率更高且一致</p> </li>     <li> <p>支持像 EJB 这样的 JSF 实现的优秀供应商(IBM,Oracle,JBoss 等)</p> </li>     <li> <p>准备使用像 Apache,Infragistics,Richfaces 等组件</p> </li>     <li> <p>方便开发人员,特别是那些使用 IDE 软件的人</p> </li>    </ul>    <p>JSF 的缺点</p>    <ul>     <li> <p>陡峭的学习曲线</p> </li>     <li> <p>没有考虑书签工具</p> </li>     <li> <p>不可扩展</p> </li>     <li> <p>原始 Ajax 支持</p> </li>     <li> <p>缺乏灵活性</p> </li>    </ul>    <p><strong>3. Google Web Toolkit - Java Web 框架</strong></p>    <p>Google Web Toolkit(GWT)是一个开源开发工具集,使开发人员能够构建和优化复杂的 JS 前端应用程序。它的主要目标是提供高性能 Web 应用程序的开发,即使开发人员不熟悉 JavaScript,XMLHttpRequest 或浏览器等偏冷门的知识。为了让其可信度高,谷歌自己的许多产品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。</p>    <p>优点:</p>    <ul>     <li> <p>更容易学习</p> </li>     <li> <p>内置 IDE 支持重构 Java 代码</p> </li>     <li> <p>可以在客户端大量构建响应式 Web 应用程序,并减少服务器端的琐事</p> </li>     <li> <p>可以迭代地平滑地从典型的 Web 应用程序迁移到 GWT 应用程序</p> </li>     <li> <p>即使在使用 AJAX 的情况下,也具有内置的浏览器后退按钮支持</p> </li>    </ul>    <p>缺点:</p>    <ul>     <li> <p>仅对 Java 开发人员有利,对 PHP 或 .NET 的开发人员没有太大帮助</p> </li>     <li> <p>由于快速发展的 GWT,有许多版本很难获得所有功能和接口</p> </li>     <li> <p>编译速度慢,需要使用专有方法来定义结构</p> </li>    </ul>    <p><strong>4. Grails - Java Web 框架</strong></p>    <p>Grails 是一个开源的 Java Web 框架,旨在将开发人员的生产力与默认值和 Convention-over-Configuration API 相提并论。它与 Java(JVM)相集成,同时提供强大的功能,包括编译时元编程,异步编程和领域特定语言。Grails 采用强大的视图技术,集成的 NoSQL / ORM 支持,插件和 Spring 支持的依赖注入进行更新。让你可以轻松集成并互操作 Java,Java EE 和 JVM 容器。</p>    <p>优点:</p>    <ul>     <li> <p>Grails 提供了一个快速的开发周期</p> </li>     <li> <p>非常适合小型和中型项目</p> </li>     <li> <p>各种插件可供选择</p> </li>     <li> <p>简单而令人易懂的文档</p> </li>     <li> <p>可以在不重启服务器的情况下更改配置</p> </li>    </ul>    <p>缺点:</p>    <ul>     <li> <p>使用运行时语言可能会很困难</p> </li>     <li> <p>开发多线程应用程序,GORM 可能会出现问题</p> </li>     <li> <p>复杂的集成过程</p> </li>     <li> <p>延迟运行时间</p> </li>    </ul>    <p><strong>5. Struts 2 - Java Web 框架</strong></p>    <p>Apache 的 Struts 是一个用于开发现代 Java Web 应用程序的开源免费 MVC 框架。它包含一组类和接口,共同协作开发 Web 应用程序。它适用于许多 Java 应用程序的网络框架,并且受到了很多社区的支持。为了进一步扩展 Struts Java 框架,Struts 2 作为后继者有了很大的改变。这个框架最适合于开发当代 Java EE web 应用程序的工程师,Apache 软件基金会借助 Struts 2 为开发人员提供了一个用于开发面向网络的,企业级应用程序,并优化整个开发流程的工具。</p>    <p>优点:</p>    <ul>     <li> <p>没有线程安全问题</p> </li>     <li> <p>依赖注入使得测试更简单</p> </li>     <li> <p>它可以使用“对象图导航语言”(OGNL)</p> </li>     <li> <p>Struts 2 框架的 Servlet 上下文以简单的地图形式表示</p> </li>     <li> <p>它支持通过验证方法进行手动验证,并且还包含子框架验证</p> </li>    </ul>    <p>缺点:</p>    <ul>     <li> <p>由于它与 Struts 1 完全不同,难以迁移</p> </li>     <li> <p>Struts 2 文档非常有限</p> </li>     <li> <p>由于文档管理不善,新用户很难发现它的优点</p> </li>    </ul>    <p>来自:<a href="/misc/goto?guid=4959012841929757786">findnerd</a></p>