`

SSH框架优缺点

阅读更多

Struts优缺点 

 

优点: 

1.开源软件,能更深入的了解其内部实现机制。 

2.Taglib标记库,灵活动用,能大大提高开发效率。 

3.页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统 

各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者 

接手这个项目时,这种优势体现得更加明显。 

4.提供Exception处理机制. 

5.数据库链接池管理 

6.Struts的Action必需是thread-safe方式,它仅仅允许一个实例去处理所 

有的请求。所以action用到的所有的资源都必需统一同步,这个就引起了线程安 

全的问题。 

缺点: 

Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程, 

甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。 

Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系 

统的复杂度。 

ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成) 

 

Spring的原理和优点 

Spring真正的精华是它的Ioc模式实现的BeanFactory和AOP,它自己在这 

个基础上延伸的功能有些画蛇添足。 

Ioc模式是什么 

可伸缩性和重/轻量,谁是实用系统的架构主选? 

Spring 

它是一个开源的项目,而且目前非常活跃;它基于IoC(InversionofControl,反 

向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层中 

必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某 

一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口, 

采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现 

TranscationManagment,等等 

优点 

a.Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅 

仅使用了Struts或其他为J2EE的API特制的framework,Spring致力于解决剩 

下的问题。 

b.Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验, 

这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。 

c. 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消 

除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个魔法般 

的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了 

Spring,你仅仅需要看看类的JavaBean属性。InversionofControl的使用(在下 

面讨论)帮助完成了这种简化。 

d.?通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进 

养成好的编程习惯。 

e.Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring 

应用中的大多数业务对象没有依赖于Spring。 

f. 使用Spring构建的应用程序易于单元测试。 

g.Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能 

选择用POJOs或localEJBs来实现业务接口,却不会影响调用代码。 

h.Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物, 

它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不 

通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实 

现。 

i. Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R 

mapping产品(如Hibernate)。 

Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大 

价值的。 

缺点: 

使用人数不多、jsp中要写很多代码、控制器过于灵活,缺少一个公用控 制器 

 

 

Hibernate 

 

优点: 

Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。 

Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访 

问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。 

Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC 

驱动,和数据库都有一定的关系,但是和使用它的Java程序,和AppServer没 

有任何关系,也不存在兼容性问题。 

Hibernate不能用来直接和EntityBean做对比,只有放在整个J2EE项目的框 

架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC 

的替代者出现的,而不是EntityBean的替代者出现的, 

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常 

轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵 

数据库。 

Hibernate可以应用在任何使用JDBC的场合。 

 

Hibernate使用Java 反射机制而不是字节码增强程序来实现透明性。 

 

Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。 

 

它支持各种关系数据库,从一对一到多对多的各种复杂关系。 

缺点: 

它限制您所使用的对象模型。(例如,一个持久性类不能映射到多个表)。 

让我再列一次我已经列n次的框架结构: 

传统的架构: 

1)SessionBean<->EntityBean<->DB 

为了解决性能障碍的替代架构: 

2)SessionBean<->DAO<->JDBC<->DB 

使用Hibernate来提高上面架构的开发效率的架构: 

3)SessionBean<->DAO<->Hibernate<->DB 

就上面3个架构来分析: 

1、内存消耗:采用JDBC的架构2无疑是最省内存的,Hibernate的架构次之,EB 

的架构1最差。 

2、运行效率:如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高, 

但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,运用Batch 

语句,调整PreapredStatement的BatchSize和FetchSize等参数,以及在必要的 

情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的。因此 

Hibernate架构表现出最快的运行效率。EB的架构效率会差的很远。 

3、开发效率:在有JBuilder的支持下以及简单的项目,EB架构开发效率最高, 

JDBC次之,Hibernate最差。但是在大的项目,特别是持久层关系映射很复杂的 

情况下,Hibernate效率高的惊人,JDBC次之,而EB架构很可能会失败。 

 

分享到:
评论

相关推荐

    ssh框架优缺点

    ### SSH框架优缺点详解 SSH框架,即Struts + Spring + Hibernate这三种技术的组合,是Java Web开发中非常流行的一种轻量级架构模式。本文将深入探讨SSH框架中的Struts、Spring、Hibernate各自的优缺点。 #### ...

    ssh框架优缺点 struts hibernate spring

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

    SSH框架的优缺点

    下面我们将深入探讨SSH框架的优缺点。 **一、Struts2** Struts2是基于MVC设计模式的Web应用框架,它继承了Struts1的优点并解决了其不足。其主要优点包括: 1. **灵活的拦截器机制**:Struts2使用拦截器来处理请求,...

    ssh框架的介绍以及优缺点

    ### SSH框架介绍及其优缺点 #### 一、SSH框架概述 SSH框架是Java Web开发领域中非常流行的一个组合,它由三个独立但又相互协作的部分组成:Struts、Spring 和 Hibernate。这三个技术分别解决了Web应用开发中的不同...

    三大框架优缺点

    改文档是一个非常实用的 三大框架解说文档 通过该文档 初学者能更深一步对SSH框架的了解

    javaSSH框架javaSSH框架 整合

    JavaSSH框架,通常指的是在Java开发中用于构建服务器端应用的一种技术栈,它结合了Struts、Spring和Hibernate这三个主流的开源框架。Struts提供了MVC(Model-View-Controller)设计模式,Spring则是一个全面的后端...

    ssh架构优缺点(转)

    NULL 博文链接:https://guona329.iteye.com/blog/1597773

    java ssm ssh框架学习

    在实践中,你可以通过创建一个简单的示例项目来加深对这些框架的理解,比如构建一个用户管理系统,包括用户注册、登录、查询等功能,这将帮助你更好地掌握SSM和SSH框架的使用方法和优缺点。同时,关注社区和官方文档...

    很简洁的ssh框架实例demo

    9. **挑战与优化**:SSH框架的缺点在于配置繁琐,维护成本较高。在实际开发中,可以考虑使用Spring Boot简化配置,使用Spring Data JPA或MyBatis简化数据访问,以提高开发效率和代码质量。 10. **社区支持**:SSH...

    SSH.rar_SSH框架简介_ssh

    下面我们将深入探讨SSH框架的各个方面,包括其优缺点。 **Struts2** 是一个基于MVC设计模式的Web应用框架,它通过简化MVC的实现来帮助开发者创建更结构化的应用程序。Struts2提供了丰富的拦截器和插件机制,使得...

    SSH框架整合源码(包含声明和注解)

    SSH框架,全称为Struts2、Spring和Hibernate,是Java Web开发中常用的一种经典组合,用于构建企业级应用。这个压缩包提供了SSH框架整合的源码示例,涵盖了声明式和注解两种配置方式,适合初学者入门学习。 首先,让...

    SSH和Spring框架简介

    通过阅读"SSH框架简介.doc"和"Spring框架简介.doc",你可以深入理解这两个框架的工作原理、优缺点及应用场景,为你的Java开发之路打下坚实基础。在学习过程中,实践是关键,尝试创建小型项目,将理论知识转化为实际...

    SSH框架详解

    个人中的SSH详细介绍,包括struts1的工作原理、Struts1优缺点(为什么要用strust1)、struts1的工作原理及基本配置详解、struts2工作原理、struts2运行机制、Struts2的工作流程、Struts2工作原理、Struts1与Struts2...

    SSH框架测试题

    ### SSH框架测试题知识点解析 #### 一、填空题知识点解析 1. **Hibernate的延迟加载机制**: - **概念**:延迟加载是一种优化技术,它允许Hibernate仅在真正需要某个对象关联的数据时才从数据库加载这些数据。这...

    ssh 框架整合总结

    总的来说,SSH框架整合提供了强大的企业级应用开发工具,但同时也需要开发者深入理解其工作原理和优化技巧,以避免潜在的性能问题。理解并熟练掌握这些知识点对于成为一个专业的Java开发人员至关重要。

    Web开发+java+ssh框架

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

    基于SSH框架的Web网站设计与实现.pdf

    14. 结论与建议:本论文对基于SSH框架的Web网站设计与实现的结论和建议进行了总结和分析,包括该框架的优点和缺点、应用前景和发展趋势等。 本论文对基于SSH框架的Web网站设计与实现进行了深入的研究和分析,为Web...

    SSH各层作用及好处

    SSH 框架的缺点包括: * 学习曲线陡峭 * 需要大量的配置和设置 * 需要大量的资源和时间 SSH 框架是一个强大且灵活的框架,提供了一个灵活的框架,用于开发基于 Java 语言的应用程序。但是,需要大量的学习和实践,...

Global site tag (gtag.js) - Google Analytics