一、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配置文件独立存在。
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配置文件独立存在。