ssh -- spring、struts、hibernate
这个框架是开始工作前完整接触学习的web框架,在面试中不止一个技术面试对这个框架进行深入的提问,足以看出来这个整合框架的在这个时代的地位,因此查阅了不少其他同行对此的见解,也有了一些自己的看法。
struts2,由struts1和webwork结合推出,但和struts1没啥关系,struts2就是加强版的servlet,在servlet与jsp传值方面有了很大的改进,减少了在传值方面的纷纷扰扰。在整个框架里扮演着控制器的角色,它接收来自视图层的各种请求,根据请求从struts.xml配置文件中查看是否有相应的action(零配置则通过请求名查找同名action中的相应方法),若存在则进入action进行后续操作,若无,则返回错误。当后续处理结束后,action返回结果界面(可能是html、jsp等等),将这个界面通过响应放回。
hibernate,作用于持久层,属于关系型数据库,对象-关系-映射的数据库。首先,封装了JDBC的连接,其次,简化了SQL代码,最重要的的是hibernate支持多种数据库方言,更改数据库时只需修改配置文件即可。
spring,是这三个当中我觉得比较重要也比较难懂的一个,spring是一个轻量级的框架,它贯穿着WEB层、SERVICE层、DAO层、还有实体。spring主要是IOC(DI)(依赖注入)和AOP(面向切面编程)。在spring参与的web项目中,IOC是重点,它控制着几乎所有你可能用到可能用不到的类,可以是entity、xxxImpl、数据库配置、aop配置等等,它促使这我们面向接口编程,自己不用再去管应该创建哪个对象,面向接口编程增加了程序的可移植性,我们只需要管何时要用即可。另一块aop,分离了应用的业务逻辑和系统级逻辑,aop不会去影响系统的正确性,aop主要用来做事务和安全性的检查。
以上均是个人见解,只提供参考,若有不足,望多多指教。