此前工作中一直使用SSM开发,想搭建SSH玩一下。
源码中的各个类、配置文件、资源文件什么作用学习过Spring、Struts2、Hibernate应该都了解。
- SSH:Spring、Struts2、Hibernate
- SSM:Spring、SpringMVC、Mybatis
Spring的作用:解耦。操作类中需要的实现类实例不再需要手动new出来,由Spring帮我们装配(通过控制反转、依赖注入)。
Struts2和SpringMVC的作用:都是标准的MVC模式,响应、反馈用户请求。
Hibernate和Mybatis的作用:数据持久化。区别还是很大的,我倒是喜欢Mybatis。
SSH整合就是将Hibernate的配置文件hibernate.cfg.xml整合到Spring的配置文件中,并且利用Spring的面向切面(AOP)功能对Hibernate事务进行统一管理。将Struts2的Action的Bean创建工作交由Spring进行统一管理,主要是使用Spring的控制反转和依赖注入功能。
SSH框架的请求-响应流程:客户端发送请求到服务器,通过web.xml中的Struts过滤器转发给对应的action来处理请求,action调用方法,方法中进行业务逻辑处理,在调用持久层接口存储、查询、删除、修改数据库数据。struts.xml根据action类中return的值再进行跳转,跳转的页面是struts.xml中配置的对应jsp页面,然后响应给客户端。