`
j2ee_yohn
  • 浏览: 172218 次
  • 性别: Icon_minigender_1
  • 来自: 湖南/株洲
社区版块
存档分类
最新评论

struts和hibernate和spring的优缺点

阅读更多

1.struts

struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。

优点:
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。


另外,struts是业界"标准"(很多成功案例),学习资源丰富,HTML标签非常优秀

缺点:
Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)


2.Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
大多数开发机构经常采取创建各自独立的数据持久层。一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价将是十分巨大的。Hibernate适时的填补了这一空白,它为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,功能却非常丰富。

优点:
a.Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。
b.Hibernate 的性能非常好,因为它是个轻量级框架。 映射的灵活性很出色。
c. 它支持各种关系数据库,从一对一到多对多的各种复杂关系。


缺点:它限制您所使用的对象模型。(例如,一个持久性类不能映射到多个表)其独有的界面和可怜的市场份额也让人不安,尽管如此,Hibernate 还是以其强大的发展动力减轻了这些风险。其他的开源持久性框架也有一些,不过都没有 Hibernate 这样有市场冲击力。


3. Spring
它是一个开源的项目,而且目前非常活跃;它基于IoC(Inversion of Control,反向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的 接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment,等等
优点
a. Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。
b. Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。
c. 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性。Inversion of Control的使用(在下面讨论)帮助完成了这种简化。
d.通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进养成好的编程习惯。
e. Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。
f. 使用Spring构建的应用程序易于单元测试。
g.Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。
h. Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。
例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。
i. Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R mapping产品(如Hibernate)。
Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。

缺点:使用人数不多、jsp中要写很多代码

分享到:
评论
1 楼 stuming_zeng 2009-01-07  
呵呵,写的很不错啊!不过Hibernate我还是不是很熟咯。

相关推荐

    Struts,Spring,Hibernate优缺点

    Struts、Spring 和 Hibernate 是Java Web开发中三大主流的开源框架,它们各自有着独特的功能和优缺点。在构建企业级应用程序时,理解这些框架的核心特性以及它们如何相互补充至关重要。 Struts 是一个基于MVC...

    ssh框架优缺点 struts hibernate spring

    ### SSH框架:Struts、Hibernate、Spring 的优缺点分析 #### Struts **优点:** 1. **MVC模式的支持**:Struts框架遵循MVC(Model-View-Controller)设计模式,它将应用程序分为模型层、视图层和控制器层,这样的...

    Struts,Spring,Hibernate优缺点_fly.mht

    Struts,Spring,Hibernate优缺点_fly.mht

    基于Struts,Hibernate和Spring的J2EE架构研究

    ### 基于Struts、Hibernate和Spring的J2EE架构研究 #### 一、引言 随着互联网技术的发展和企业需求的日益多样化,软件开发领域面临着越来越多的挑战。为了解决这些问题,J2EE(Java 2 Platform, Enterprise ...

    Struts2 hibernate spring 整合案例

    Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2主要用于MVC(Model-View-Controller)架构的实现,提供控制层的支持;Hibernate是对象关系映射(ORM)工具,负责数据持久...

    struts spring hibernate 优缺点分析.docx

    Struts、Spring和Hibernate是Java开发中常用的三个框架,它们分别在MVC模式的不同层面提供支持。以下是这三个框架的详细优缺点分析: **Struts** Struts是一个开源的MVC框架,主要用于构建Web应用程序。它的主要...

    关于spring、struts、hibernate三大框架整合的疑惑!

    Spring、Struts和Hibernate是Java开发中非常经典的三大框架,它们各自在应用程序的不同层次上发挥作用,共同构建了一个完整的MVC(Model-View-Controller)架构。这篇文章将详细讲解这三个框架的核心概念、整合方式...

    SSH(Spring Struts Hibernate)的优缺点

    SSH,即Spring、Struts和Hibernate,是Java开发中一种常见的技术栈,用于构建企业级Web应用程序。这个组合提供了模型-视图-控制器(MVC)架构的支持,以及数据库访问和业务逻辑处理的能力。让我们详细分析一下SSH的...

    strut spring hibernate 优缺点

    ### Struts, Spring, Hibernate 三大框架的优缺点分析 #### Struts框架 **优点:** 1. **组件模块化与灵活性:** Struts框架强调组件的模块化设计,这使得开发者可以根据项目的不同需求灵活地选择和组合这些组件。...

    struts+hibernate+spring

    Struts、Hibernate和Spring是Java开发中的三大框架,它们常被组合使用,称为SSH整合,以构建企业级的Web应用程序。下面将详细解释这三大框架各自的特点和它们整合的优势。 Struts是一个基于MVC设计模式的Java Web...

    Struts,Spring,Hibernate优缺点.

    ### Struts、Spring、Hibernate 的优缺点分析 #### 一、Struts 框架 **优点:** 1. **实现 MVC 架构模式:**Struts 通过 Model-View-Controller (MVC) 设计模式,使得业务逻辑与表示层分离,便于维护和扩展。 2. ...

    Struts+Hibernate+Spring常见面试题

    1. 了解Struts的工作流程和优缺点,理解Action的线程安全性问题。 2. 理解MVC模式,知道Struts如何实现MVC,以及MVC的组成部分。 3. 熟悉Spring的AOP和IOC概念,理解它们在Spring中的应用。 4. 掌握Hibernate的查询...

    毕业设计论文-IT计算机-博客系统(struts+hibernate+spring)-源码.zip

    这篇毕业设计论文主要探讨了如何使用Java技术栈构建一个基于Struts、Hibernate和Spring的博客系统。这个系统展示了Web开发中的MVC(Model-View-Controller)架构模式的应用,以及如何利用这些开源框架来实现数据持久...

    jsp源码车辆管理系统(struts+hibernate+spring+oracle)

    综上所述,该车辆管理系统通过整合JSP、Struts、Hibernate、Spring以及Oracle等多种技术手段,实现了高效稳定的数据管理和业务处理能力。不仅提高了开发效率,还确保了系统的扩展性和可维护性,是一款非常实用且功能...

    Struts Spring Hibernate面试题汇总

    【SSH面试题汇总】主要涉及的是Struts、Spring和Hibernate这三个流行Java EE框架的相关知识,以及MVC设计模式的理解。MVC(Model-View-Controller)模式是软件工程中的一种架构模式,它将应用程序分为三个核心组件:...

    struts hibernate spring框架剖析

    ### Struts、Hibernate与Spring框架剖析 #### 一、引言 随着信息技术的快速发展,Java Web开发领域中,Struts、Hibernate与Spring这三个框架因其在实际项目中的广泛应用而备受关注。本文将对这三个框架进行深入...

    spring+struts+Hibernate面试题

    以上涵盖了 Spring、Struts 和 Hibernate 的一些常见面试题及解答,希望对准备相关技术面试的读者有所帮助。对于这些技术的理解不仅限于理论知识,更重要的是能够在实际项目中运用并解决具体问题。

    ssh工作笔记整合(里面有Struts,hibernate,spring)

    SSH框架指的是Struts2、Spring和Hibernate这三个框架的整合。这种整合能够充分利用各框架的优势,提高系统的可维护性和可扩展性。 **2. SSH框架整合的关键步骤** - **Struts2配置**:定义Action、拦截器等。 - **...

    javaweb主流框架整合开发struts+spring+hibernate例子

    在JavaWeb开发领域,Struts、Spring和Hibernate是三大主流框架,它们分别负责表现层、业务层和服务层的管理,形成了MVC(Model-View-Controller)架构的基础。本示例将详细介绍这三个框架如何整合使用,以提升项目的...

Global site tag (gtag.js) - Google Analytics