现在开发流行MVC模式,structs在C(控制器)中使用;hibernate在M(模型)中被使用;至于 spring ,最大的作用在于,structs、hibernate的对象,由于在各个层之间相互调用,自己维护不够效率、会产生疏漏,所以,spring 提供一个容器(IOC),structs、hibernate的对象交由spring管理即可。
另外,spring还有一个作用,AOP是切面编程,就是不同地方的相同代码,spring提取出来,进行统一的使用。
总之,spring就是把开发中共性的问题,抽取出来,统一的调用。
MVC中的V(视图),可以用JSP、structs、ExtJs、JQuery等框架或技术实现。
Structs+Spring+Hibernate,这是很经典的一个搭配,它的开发流程也比较程式化,下面以用户注册为例。
注册页面代码:











实体Bean类:



































对应的映射文件User.hbm.xml:

















用户DAO接口:













用户DAO接口实现类:



































注册的业务逻辑接口:














注册的业务逻辑实现:








































用户注册控制器类:




































下面是配置文件方面,首先是Hibernate的配置文件hibernate.cfg.xml,定义了访问数据库所需要的一些值:















然后是Spring的配置文件spring-config.xml:



































































































然后是Struts的配置文件struts-config.xml:





























最后是Web应用程序配置文件web.xml:























可以看到,MVC的三层架构思路很清晰,但缺点也很明显,配置文件太过于冗杂,CRUD代码随处冗余,不够简约,下一篇文章中我们将见识到一个解决这个问题的优秀框架—SpringSide。