struts2
struts2是个MVC框架,简单来说就是把前台(jsp、html)提交的表单数据在控制器接收时进行自动的封装。
效率:servlet远大于Struts2,因为servlet可以使用单列模式,单列模式效率高(单列模式每次请求访问的对象都是同一个对象),而Struts2不能使用单列模式。
核心原理:在web项目中定义一个过滤器,过滤所有请求,再把请求交给StrutsPrepareAndExecuteEilter来处理,然后经过多个Struts2的默认拦截器,把数据封装好后会进入到action中进行操作。
开发具体步骤:1.新建项目
2.把Struts的jar包和数据库连接jar包添加到项目中
3.在src下新建所需文件夹
4.在util文件夹下编写工具类
5.在web.xml文件中配置struts2框架
6.开发时先写封装类,在写数据库操作层,然后写业务层和控制器,最后需要写Struts.xml配置文件和jsp页面
hibernate
hibernate是一个对象关系映射工具(简称orm),它提供了从java类到数据表的映射。把对数据库的直接操作转化为对持久对象的操作。
作用:是数据持久化层,对JDBC轻量级封装,简化jdbc的操作,自动把数据库查询到的结果封装成对象。
开发中:与struts2不同的是,在写封装类时需要写相应的映射文件,然后写hibernate.cfg.xml文件(需要把映射文件传送到此文件中)。
spring
spring是个容器框架
主要作用:控制对象的创建和管理对象与对象之间的关系。
核心内容:IOC(控制反转)和AOP(面向切面编程)
IOC控制反转也可以叫做依赖注入,解释:对象的创建不由程序控制,而是交给spring容器去控制对象的创建和维护对象间的关系。
使用注解可以进行依赖注入,常见的如Dao层使用@Repository,service层使用@Service、@Transactional,controller层使用@controller
注入对象使用@Resource(先名称在类型查找),@Autowired(先类型后名称查找)
AOP面向切面编程,解释:类似于struts2中的拦截器,可以使用aop在方法的执行前或执行后添加公共代码。