一、Struts2:
1、环境搭建:
(1)倒包: struts核心包、xwork包、ognl包、struts-spring-plugin包


(2)struts框架的配置文件及均配置:struts.xml,允许的配置如下:
     1)include:包含其他的struts配置文件,其他的配置文件主要是按照功能模块划分,彼此独立,然后在struts.xml进行包含
     2)constant:配置常量,更改struts2的默认配置
     3)package:包的配置,在一个配置文件中允许有多个包,包名不能重复,自定义包必须继承自struts-default,允许使用命名空间,
     4)action:
     5)result:chain/redirectAction     dispatcher/redirect /stream/ plaintext
     6)global-exception/global-result
     7)interceptor/stack
     
 (3)filter:在web.xml中进行配置,struts2的核心控制器
 
 2、 技术细节:
 1)html表单---->获得表单数据---->action
 2)表单数据的获得方式:领域对象/模型驱动,兼容 hibernate的vo类;基本属性
 3)根据表单数据获得方式的不同,表单元素名字,如果采用领域对象,那么表单名字前加领域对象名作为前缀,基本属性或者模型驱动获得表单数据则不需要前缀。
 4)action的开发:通常继承ActionSupport,重写execute(),返回值有SUCCESS/INPUT/LOGIN/ERROR/NONE ,如果action响应的ajax的异步提交请求,该方法返回null。
 5)分发action开发:在action类中定义多个类似execute方法的方法,这些方法配置时可以作为一个单独的action来请求;也支持动态方法调用;也支持通配符配置。
 
二、 hibernate:
 (1)配置:hibernate.cfg.xml/Xxx.hbm.xml:
    1)hibernate.cfg.xml:连接、方言、显示sql、映射文件
    2)Xxx.hbm.xml:映射文件,对于每个vo类及vo类对应的表实现映射关系还包括vo类之间的关联关系
      1)持久化标识:id,主键的生成策略:assigned/increment/sequence/uuid/hilo/identity/native
      2)关联配置:cascade="all"       fetch="select"       lazy="false"
 (2)数据操作:CRUD:SeesionFactroy sf = new Configuration().configure().buildSessionFactory();
    1)添加:save(obj);
    2)修改:
     obj = session.get(class,id);
     Query query = session.createQuery("update com.ts.vo.Xxx xxx set xxx.name='aaa' where xxx.id=obj.id");
     query.executeUpdate();
    3)delete:
      public void deleteObj(Xxx obj){
      Xxx o = session.get(Xxx.class,obj.getId());
      session.delete(o);
     
      }
 
 (3)查询:
   (1)load(Xxx.class,id):首先到一级缓存中查找数据,如果不存在,到二级缓存中查找(前提是已经开启二级缓存),如果二级缓存中也不存在数据,当使用对象的成员方法
                 时,才会发送查询指令,该方法如果根据id没有得到对象,抛异常。
  (2)get(Xxx.class,id):
  (3)标准SQL查询:
      SQLQuery:使用的方法是list()/iterate()  
  (4)HQL查询:
  (5)分页:可以使用rownum,或者使用rowid
  (6)使用存储过程:通过Connection初始化CallableStatement{call proname[()]}
  (7)对象的三种状态:瞬时态<--delete-->持久化态<----->脱管态
 三、、Spring:核心是IoC+DI/AOP(横切业务流程,加入其它功能,但并不会影响业务流程),术语包括切面、连接点、切入点(表达式)、通知(前、后、环绕、异常)、织入;
             事务管理。
             
四、 框架整合:
1、 Spring2.5.6+hibernate3.3:
(1):将hibernate.cfg.xml的配置信息纳入spring配置文件统一配置
(2)hibernate.cfg.xml与spring配置文件独立存在。
  
  
  
  
  
  
  
  
  
  
  
 

本文转载:CSDN博客