SSH的优缺点比较

365bet官网注册 📅 2026-02-11 01:33:06 ✍️ admin 👁️ 4688 ❤️ 578
SSH的优缺点比较

SSH优缺点

常说的好处 开源

常说的坏处 配置文件过大

struts

优点:

收集,验证表单数据相比传统servlet简单

优雅的实现可配置的请求转发

缺点:

属侵入设计(actionform,action都无法复用)

与serlvetAPI严重耦合..无法摆脱容器

action与web层耦合.不方便测试

标准struts的action是非线程安全(很多简历上写着"精通Struts"的高手们都忽视的问题)

Spring

优点:

IoC aop

对象容器

管理对象的生命周期(集成struts摆脱线程问题)

测试也变得方便

多数代码没有侵入spring的API

对于hibernate有很好的支持 权限,email支持,调度任务,权限,事务等等

缺点:

不支持分布式部署。

不是一站式方案

使用了反射来管理其容器中的bean,在程序中增大了内存和运行计算的时间,当然,这和spring带来的管理方便的好处来比,可以把此缺点忽略不计。

hibernate

优点:

ORM 使数据层更加对象化..摆脱所谓的阻抗不匹配

sql方言的存在使得开发不用过多考虑

数据库差异 的问题

非侵入式设计

缺点:

个人感觉熟练使用的话曲线太陡..(尤其对于多表间复杂查询)

不太适合做复杂的select语句查询

不熟悉:

Transaction(一般都直接交给spring了..接触不错..demo级别)

缓存机制(Session的缓存和SessionFactory的缓存(内置缓存和外置缓存))

聚集性操作数据(这种时候jdbc也白费吧...还是存储过程)

SSH优缺点:

优点:

struts: 相对于之前的框架turbine和直接使用servlet,使用配置文件减少了代码的编写量,提高了易用性,以及对url管理的一致性,增加了表单验证、formbean等特性,提高了程序的规范性。还有一个很重要的优点是稳定性高,经过多年的使用,相比于其他的控制层框架,对稳定性高要求高的话,用struts可以保证稳定性。

hibernate:相对于jdbc,以操作对象的方式去操作数据库,程序员可以不用考虑数据库的sql语句的具体形式,直接在对象上操作,对象在数据库上的操作,交给了hibernate

API去转换执行。减少了代码量,减轻了程序的耦合度,与数据库无关。可以“一次编写,到处运行”。

spring:令人称赞的是IOC、AOP和数据库事务的自动管理,集成对各种其他框架的良好支持,配置过程中高度动态化,低耦合和低侵入性,在应用中起一个小型容器(contaioner)的作用,可以管理在容器中的框架、servlet、bean,管理他们的生命周期和内存分配,具“一站式架构”的特点。

缺点:

struts:action被设计成线程不安全的,配置文件众多、繁杂,代码和Servlet的耦合度比较高。

hibernate:因为使用了ORM映射,把对对象的操作转换成对数据库的操作,实际上还是转成了调用JDBC来操作数据库,比直接使用JDBC的效率低。再者就是hibernate的特性强大,如果不深入了解hibernate的特性,发挥不出hibernate的强大特性。使用好hibernate的前提是对数据库和sql的高度熟悉,否则也用不好hibernate.

spring:使用了反射来管理其容器中的bean,在程序中增大了内存和运行计算的时间,当然,这和spring带来的管理方便的好处来比,可以把此缺点忽略不计。

相关推荐

劲永内存产品资料信息大全
365bet官网注册

劲永内存产品资料信息大全

📅 10-30 👁️ 1501
确认过眼神,玉玄拨筋护眼法,就是你要找的「明目法」!
[攻略]【科普:宠物强度】现版本宠物强度对比,新职业活动宠物到底厉不厉害?