SSH, 又见SSH

这里的SSH不是指的Secure Shell,而是指的Struts + Spring + Hibernate。关于这3个东西,大家都不陌生了。合在一起是目前主流的Java Web应用开发模式。写这篇博文的出发点是我今天的一个面试。实际上我之前也面试过一些人,SSH是我很常听到的一个词。每次听到这个词,我不由自主的有种感觉,是不知道该如何发问。我并非SSH的专家,我所用到SSH的地方也就是之前自己做过一两个小应用,纯粹是学习的用途。SSH肯定也有很多我不知道的技术细节。
 
SSH的流行有它们很多必然的因素。Structs是老牌的前端框架了;Spring,我仍然记得当年看Rod Johnson的那本J2EE Without EJB时的兴奋心情;Hibernate则影响了Java的持久化模式。我所担心的是SSH的流行对于普通开发人员的影响,对于刚毕业的学生的影响。SSH使得开发人员之间的同质化加剧。对公司来说,这是好事,一个人离职了,很快就可以找到相同技能的人来替代;对于个人来说,一方面是好事,跳槽很容易。不在这个地方SSH,就在另外一个地方SSH。不好的地方则是比较竞争优势的缺失以及思维的局限。大家都用一样的东西,自然没有什么很大的区别。局限在一种开发模式,则容易迷失。SSH也许可以保证你5年,甚至10年的饭碗,但未必能保证你20年的饭碗(也许可以?)。拥抱更多的可能性才是更好的办法。
 
下面是一些我觉得不错的做法:
1)在了解框架的同时,了解背后的设计理念和实现细节。比如读读SSH这些框架的源代码。
2)拥抱更多的可能性。把眼光挪到其它的模式上看看,了解了解。
 
有点感触就随便写了这么多,不存在对SSH的任何偏见。

评论查看选项

选择您喜欢的显示评论的模式,并点击“保存设置”来保存您所做的改变。

博主你好,有个小问题关于你在dw上最新的文章

我按照你的代码测试,用两个不同的FileSystemClassLoader加载同一个类,而结果没有出现ClassCastException。
我打印 class1 == class2的结果也是true。
JDK是Sun JDK 1.5

class不要放在当前的CLASS_PATH下,否则都被系

class不要放在当前的CLASS_PATH下,否则都被系统类加载器加载了,就不报异常了。

是这样的,不能直接用IDE的自动编译功能。我做测试的时候,

是这样的,不能直接用IDE的自动编译功能。我做测试的时候,都是把那个package下面的代码从build path里面先删掉,这样的话IDE就不会自动生成class文件了。

非常同意楼主的观点,不仅要会SSH,还有理解其背后的设计思

非常同意楼主的观点,不仅要会SSH,还有理解其背后的设计思想,这样才有提高

Java

Java web开发本来就没啥难度可言,培训一下就会了,没啥核心竞争力,满大街的程序员就属搞J2EE的最多也最廉价。当然IT培训机构还是很感谢SSH的,挣了多少钱啊...

java

java web开发就那么点东西,但是真正一个网站要跑起来,并不是ssh这么点东西的,而且规模上来之后,ssh这点更显得不值一提了

非常同意博主的看法,我面试的时候也是,很多人开发了好几年的web应用了,war包的典型结构都不知道长啥样...更不用说servlet的一些规范了