ssh优缺点

面试归来<br><br>技术面试官叫我谈谈 ssh优缺点<br><br>平时用起来倒是挺顺手..但是从来没有系统的总结过..导致很多点会都没有说出来..<br><br>这次我认真总结了一下...<br><br><br>常说的好处 开源<br>常说的坏处 配置文件过大我就不提了<br><br><br>[size=small;][b]struts[/b][/size]<br><br>优点:<br>          收集,验证表单数据相比传统servlet简单<br>          优雅的实现可配置的请求转发<br><br>缺点:<br>           属侵入设计(actionform,action都无法复用)<br>           与serlvetapi严重耦合..无法摆脱容器<br>           action与web层耦合.不方便测试<br>           标准struts的action是非线程安全(很多简历上写着"精通struts"的高手们都忽视的问题)<br><br>不熟悉:<br>           struts标签库没怎么用过(常用jstl)<br>           国际化只学过,没用过.停留在demo级别<br>           validation.xml(配置文件写多了,有时候也想逃避)<br>           支持表现层技术单一(一直作为struts的缺点来说...但是我也就会jsp而已)<br><br><br>[size=small;][b]spring[/b][/size]<br><br>优点:<br>           ioc虽然不好形容,但是我从最开始接触spring时就觉得这是个很大的优点<br>           aop(我自己写过的aop就只有日志...)<br>           对象容器<br>                管理对象的生命周期(集成struts摆脱线程问题)<br>           测试也变得方便<br>           多数代码没有侵入spring的api<br>           对于hibernate有很好的支持<br><br>           还有很多好处(权限,email支持,调度任务,权限,事务等等),我把我知道的对于ssh的尽量总结出来<br><br>缺点:<br>           缺点我不好提出来..without ejb我没看过..甚至ejb我也不会..<br>           我也就简单用用...不过我听说过这些缺点(如果有错请及时指正)<br><br>           如果开发者设计不出合理的接口.导致一改就改多处.反而造成不便<br>           不支持分布式部署。<br>           不是一站式方案(开放的体系和封闭的体系这种话题我从来参与不进去..但是还是常看看的)
 
          使用了反射来管理其容器中的bean,在程序中增大了内存和运行计算的时间,当然,这和spring带来的管理方便的好处来比,可以把此缺点忽略不计。 <br><br><br>[size=small;][b]hibernate[/b][/size]<br><br>优点:<br>           orm 使数据层更加对象化..摆脱所谓的阻抗不匹配<br>           sql方言的存在使得开发不用过多考虑 数据库差异 的问题<br>           <span style="text-decoration: line-through;">非侵入式设计</span><br><br>缺点:<br>           个人感觉熟练使用的话曲线太陡..(尤其对于多表间复杂查询)
          不太适合做复杂的select语句查询<br><br>不熟悉:<br>           transaction(一般都直接交给spring了..接触不错..demo级别)<br>           缓存机制(session的缓存和sessionfactory的缓存(内置缓存和外置缓存))
 
          聚集性操作数据(这种时候jdbc也白费吧...还是存储过程)<br><br>错觉:<br>           hibernate对于瑕疵的处理不够<br>           比如:有entity-name的映射 save 就抛错这是我很久以前就发现的问题..一直没有得到修正..难道这不是问题?<br><br><br>可能高手从我总结就可以看出我水平有多菜....<br><br>不过还是不要吝惜口水 喷我吧..<br><br>在javaeye被喷 只会使我进步  面试时候被喷 少的就是机会了
 
 
 
内容更改记录:
 
<table class="quote_title" style="height: 75px;" border="1"><tbody><tr><td>javaeye_id</td><td>修改原因(也就是回复部分内容)</td></tr><tr><td>xiaoyuqi00</td><td>hibernate优点:非侵入式设计<br>这点我不怎么认同,如果你用hql的话很数据层就很麻烦了,虽然hibernate支持sql但是既然用hibernate,那首选肯定是hql或者criteria</td></tr><tr><td>geeksun</td><td>使用了反射来管理其容器中的bean,在程序中增大了内存和运行计算的时间,当然,这和spring带来的管理方便的好处来比,可以把此缺点忽略不计
</td></tr><tr><td>blackstreet</td><td>不太适合做复杂的select语句查询 </td></tr></tbody></table> 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值