你这个问题问的很范,如果要回答详细,得好多文字。这里大概说下:Struts:是显示层的一个框架,是MVC思想的实现,他的页面只负责显示功能,而用控制器--Action--来控制需要的业务处理逻辑,和要返回的页面。至于Hibernate,我刚才回答了一个朋友的关于类似的问题,把答案贴过来,你看下:
----------------------
问题:初步看了一下Hibrenate,想不出来哪些情况下更适合使用Hibrenate,与数据库打交道SQL语句就完全足够了 。各位能够指教一下吗(引用:ntsjun (呱哇小弟) )问题的答案:
------------------
其实说白了hibernate就是对jdbc进行了轻量级的封装,
hibernate最后还是需要用sql语句来实现的。使用hibernate的好处很多:
第一:它是面向对象的,所以,你不需要再记住一些字段的代码。取而代之的是对象的属性。因为现在大多数的项目都是用面向对象的方法,所以用hibernate更符合编程习惯。第二:hibernate具有缓存机制,session缓存(一级缓存),sessionFactory缓存(二级缓存)。这样,把一些数据放在缓存中,可以提高速度。第三:hibernate在把对数据库的操作“翻译”为sql的时候,就使用了自身的优化机制,使访问数据库的效率提高。好处还有很多,这里不再一一叙述。请楼主自己翻阅资料。
-----------------------------
对于Spring 吗,主要就是两个思想,IoC 和 AOP,Ioc又叫 DI(Dependence Inject 依赖注入),就是说,对于对象的生成,不由程序来控制,而是把控制权交给Spring容器,由Spring容器,来控制。
AOP,翻译为面向方面编程,但是我觉得翻译为面向切面编程更合适。我觉得他其实就是在系统的某一些点上,实现了一个拦截的功能。
以上只是很简单的说下,可能不清楚。如果楼主想进一步了解,请查阅相关资料。
或者联系我,很愿意进行探讨,互相学习。