这道题实际上考查的是你对SSH框架的理解。首先LZ应该明白SSH是干嘛的,框架说白了,其实就是为了提高开发效率而对相应层模块的一个抽象和功能的封装与加强。
如struts2,它就是基于MVC思想而开发出来的一个框架,在说的直白点,他将servlet做了相应的封装,并在其基础之上有了很大加强。
hibernate,他就是对dao/bean层的一个抽象,我们知道目前主流数据库均是关系型数据库,而java是一门面向对象的语言,如果这之间没有一个桥梁,那么开发人员将不得不面向对象开发同时,又要关注数据库(传统的jdbc编程)。为了解决问题,hibernate应运而生,hibernate就充当了这两者之间的一个桥梁,从而使开发人员能完全的面向对象去编程。除此之外,hibernate还做了很多东西,如事务。。。。
spring,spring在整个项目中,你感觉不到它的存在,它主要有两大要点,1.ioc(即控制反转)说直白点,它是一个工厂,它的应用,使得我们开发过程中需要用到的类不是new出来的,而是服务器启动时,sping工厂生产出来,进行注入的,开发人员尽管调用即可。2.aop(即面向切面编程)必须过滤器其实就是面向切面编程一个典型的实现,每个过滤器就好比一个切面。
通常情况下,小项目或者是后期不需要长期维护的项目,完全没有必要使用框架,用了框架反而是一种累赘。只有大项目,或者后期需要进行长期维护的项目,才用的上框架。
至于什么时候使用一个框架,这个当然还是上面说的那个道理,根据所开发项目的实际情况而定,根据需要。