`
zhouxing
  • 浏览: 207412 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts 能走多远?

阅读更多
早想写一篇关于开源框架的评论。关于 struts,hibernate,spring。。

       声明:本观点只代表我个人兴趣。
         
        struts 违背OO,将很快被人们所抛弃,spring将占上风。

       接触 struts  有一段时间了,终觉得有点别扭。网上有流传struts + hibernate +spring 是最佳组合。我不知道此人是在玩框架还是想练手,练手就不说了,如果说是在做项目,我觉得有点可笑。只能说对各个框架,它们之间的关系,结合起来有多大的优势,会给项目带来多大好处。。。没有搞清楚。

       我不是在反对struts。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,是个不错的MVC框架。
      
        Hibernate    hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

         Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

         。。。。
         
      各个框架单个看起来是非常完美的。单个框架在项目中是不能解决所有问题的。

      一 : struts +hibernate 
            struts 做web,hibernate做数据库操作,感觉完美。的确做中小,业务不太复杂的项目足够了。细想一下,如果要在项目中加入详细日值,权限划分,就凭以上框架很难完成(不是不能完成)。
      二:   struts +hibernate +spring
            引入spring不仅解决了以上的不足,Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。用过这三个框架的人会觉得有很多重复的代码,struts有actionForm,hibernate有持久化对象,spring有POJOs。感觉很象,只是表现形式不一样而已。spring的MVC 要比struts更“MVC”,还内置集成hibernate。struts 违背OO,这话一点不假,知道spring MVC 的人都会这么认为。
      三      spring+hibernate  已足够强大。

      本人现在在西安从事java WEB开发,同时还研究网站运营。做过几个自己感觉不错的东西,但都很不完美。自认为学习这些开源框架的源码是一件很有意义的事,spring  hibernate 是我认为目前很不错的框架。也许还有更好的我不知道。有意者请与我联系,共同探讨我们关注的问题。
分享到:
评论

相关推荐

    Struts2远程命令执行验证工具

    2. **批量导入验证**:对于大型网络环境,支持批量导入多个目标URL,进行批量检测,提高了工作效率。 3. **漏洞确认**:当检测到可能存在漏洞的系统时,工具会给出明确的报告,帮助管理员识别问题。 4. **远程命令...

    Struts2远程命令执行漏洞解析

    Struts2远程命令执行漏洞解析 漏洞解析 远程命令 Struts2

    struts2-scan_struts2-scan_struts2scan_scan_struts2漏洞_

    然而,它在历史上曾出现过多个安全漏洞,其中最著名的就是“Struts2漏洞”。这个标题和描述提到的"struts2-scan"是一种工具,专门用来检测Struts2框架中的安全漏洞。 Struts2漏洞通常涉及到框架的核心组件,例如...

    全网最全Struts 2 全版本漏洞检测工具,最新struts漏洞更新

    渗透测试是网络安全的重要环节,通过使用这样的工具,不仅可以帮助开发者找出并修复Struts 2中的漏洞,还能提高整体的安全意识,建立更为健壮的安全防御体系。对于企业来说,定期进行这样的安全检查,可以降低被黑客...

    Struts2+HighChart+Jquery远程加载 折线图

    Struts2、HighChart和jQuery是Web开发中的三个重要组件,它们在构建动态、交互式的Web应用程序时发挥着关键作用。本教程将详细介绍如何利用这三个技术实现远程加载折线图的功能,无需额外的jar包,并且在Struts2配置...

    struts2 最新漏洞 S2-016、S2-017修补方案 .docx

    Struts2 最新漏洞 S2-016、S2-017 修补方案 Struts2 是一个基于 Java 的 Web 应用程序框架,由 Apache 软件基金会维护。最近,Struts2 发生了两个严重的漏洞,分别是 S2-016 和 S2-017,这两个漏洞可能会导致攻击者...

    struts2配置2.5版

    location:解压缩struts-core-2.5.16.jar 后,文件struts-2.5.dtd文件路径。 4.设置开发者模式: <constant name="struts.devMode" value="true" /> <constant name="struts.i18n.encoding" value="utf-8" /> 每次...

    Struts2远程代码执行漏洞分析(S2-013)1

    按照正常的需求,把参数 urlEncode 一下也就够了,问题在于,Struts 竟然多做了一步,这丫把参数做了 OGNL 解析! Struts2 官方的开发傻乎乎的,比如这个漏洞,要么官方就不要发出来,既然发出来了,就应该发补丁,...

    struts2漏洞利用工具

    Struts2是一款流行的Java Web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于构建可维护、可扩展的企业级应用程序。然而,Struts2在历史上曾出现过一系列的安全漏洞,其中一些是高危的,允许攻击者...

    struts+js,struts+jquery示例

    Struts和JavaScript以及jQuery是Web开发中的重要技术栈,它们在构建动态、交互式的Web应用程序中发挥着关键作用。Struts是一种基于MVC(Model-View-Controller)设计模式的Java Web框架,它帮助开发者组织和管理应用...

    struts2漏洞扫描工具

    对struts2远程漏洞扫描工具

    struts2-2.3.32-all

    在使用Struts2时,开发者通常会定义一个或多个Struts配置文件(如struts.xml),在这个文件中,可以配置Action类、Action的映射路径、Result类型、Interceptor堆栈等。此外,Struts2支持多种视图技术,如JSP、...

    Struts2远程执行漏洞 Jar包集合体

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。然而,随着时间的推移,Struts2框架发现了一系列的安全漏洞,这些漏洞可能导致远程代码执行(RCE)风险,使攻击者能够完全...

    struts学习(二)

    Struts学习(二)主要涉及的是Apache Struts框架的深入理解和使用,这是一个广泛应用于Java Web开发中的MVC框架。在本篇文章中,我们将探讨Struts的核心概念、安全问题以及一些实用工具,帮助开发者更好地掌握这一...

    Struts2漏洞利用工具

    Struts2是一个基于MVC设计模式的Web应用框架,但2存在远程代码执行的漏洞,现在Struts2漏洞检测工具2017版增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过...

    Struts2.3.32升级jar包

    在之前的版本中,Struts2曾被发现存在多个高危漏洞,例如著名的CVE-2017-5638“Struts Shatter”漏洞,这个漏洞允许远程攻击者通过恶意构造的HTTP请求头执行任意代码,对服务器安全构成严重威胁。Struts2.3.32的发布...

    struts2.3.7所有jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它主要用来构建企业级Web应用程序。Struts2的核心是Action,它处理用户请求,并与业务逻辑进行交互。在这个"struts2.3.7所有jar包"的...

    Struts2源码阅读

    Struts2是一个流行的Java Web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。源码阅读对于理解其工作原理至关重要。...在实际开发中,对源码的理解能帮助我们更有效地定位和解决问题,从而提升开发效率。

    dwr与struts2

    - **事件模型**:Struts2提供了类似于发布/订阅(pub-sub)的事件模型,使得处理多组件间的交互变得更加灵活。 - **Ajax标签**:为了进一步简化开发过程,Struts2提供了一系列Ajax相关的标签,这些标签可以轻松地...

    struts-2.3.36jar包

    Struts 2是Java开发Web应用的一个开源框架,它的核心基于Model-View-Controller(MVC)设计模式。Struts 2.3.36版本是这个框架的一个具体发行版,它提供了对早期版本的改进和修复,以及可能的新功能。在深入探讨这个...

Global site tag (gtag.js) - Google Analytics