|
. |
今天内容介绍
|
SSH三大框架整合 (1)struts2 (2)hibernate5.x (3)spring4.x |
回顾SSH框架知识点
Hibernate框架
|
1 hibernate核心配置文件 (0)orm思想 - 对象关系映射 (1)数据库信息 (2)hibernate信息 (3)映射配置 (4)hibernate核心配置文件 - 如果单纯使用hibernate框架,核心配置文件名称 hibernate.cfg.xml和位置 src下面固定的 - hibernate和spring整合时候,hibernate核心配置文件名称和位置没有固定要求的 2 hibernate映射配置文件 (1)实体类和数据库表映射关系—使用orm思想 3 hibernate操作的步骤 (1)在spring框架对hibernate框架进行封装,使用hibernateTemplate |
Struts2框架
|
1 Action操作 (1)action创建三种方式 - 继承类 ActionSupport (2)配置action访问路径 - 创建struts.xml配置文件,这个文件名称和位置固定 src下面的 (3)配置访问action的多个方法 - 使用通配符方式配置 (4)在action获取表单提交数据 - 获取request对象 ** 使用ServletActionContext类获取 - 属性封装 - 模型驱动(重点) - 表达式封装 (5)在action操作域对象 - 使用ServletActionContext获取域对象 (6)配置struts2的过滤器 2 值栈 (1)向值栈放数据 - set方法 - push方法 - 定义变量,生成get方法 (2)从值栈获取数据 - 在jsp中使用struts2标签+ognl获取 - <s:property> - <s:iterator> 3 拦截器 (1)aop和责任链模式 (2)自定义拦截器 - 继承MethodFilterInterceptor - 重写类里面的方法 - 配置拦截器和action关联 |
Spring框架
|
1 spring核心配置文件 (1)名称和位置没有固定要求 (2)在spring核心配置文件中引入schema约束 2 创建对象 (1)xml配置方式:<bean id=”” class=”” scope=””/> (2)注解方式:四个注解 3 注入属性(对象类型属性) (1)xml配置方式: (2)注解方式:两个注解 - autowired - resource 3 使用ServletContext对象和监听器实现 (1)在服务器启动时候,加载spring配置文件,创建对象 (2)配置spring的监听器 (3)指定spring配置文件位置 4 jdbcTemplate 5 spring事务配置 (1)xml方式 (2)注解方式 |
SSH框架整合思想
|
1 三大框架应用在javaee三层结构 2 struts2框架和spring整合 (1)struts2的action在spring配置 3 spring框架和hibernate框架整合 (1)hibernate的sessionFactory交给spring配置 (2)把hibernate数据库配置交给spring配置 |
整合struts2和spring框架
|
1 把struts2的action交给spring管理 2 实现过程 第一步导入struts2的jar包 (1)导入用于整合的jar包 第二步创建action 第三步创建struts2核心配置文件,配置action (1)位置在src下面,名称是struts.xml 第四步配置struts2过滤器 第五步导入spring的jar包 第六步创建spring配置文件 (1) 引入约束 (2) 配置spring监听器 (3) 指定spring配置文件位置 第七步把action交给spring进行配置(***) (1)在spring配置action对象,在struts.xml中也配置action对象 (2)解决: 只需要在spring里面配置action对象,不要在struts.xml中配置 |
Spring框架整合hibernate框架
|
1 把hibernate核心配置文件中配置数据库信息,把数据库信息在spring进行配置 2 把hibernate里面的sessionFactory创建交给spring管理 |
具体实现
|
第一步导入hibernate的jar包 (1)导入struts2和hibernate的jar包时候有jar冲突问题 在struts2里面有jar包 在hibernate里面有jar包 删除低版本的jar包 (2)导入spring整合持久化层框架需要导入jar包 第二步搭建hibernate环境搭建 1 创建实体类 2 配置实体类映射关系 3 创建核心配置文件 第三步把hibernate核心配置文件数据库配置,在spring进行配置 (1)把hibernate核心文件中数据库配置去掉了,在spring配置 第四步把hibernate的sessionFactory交给spring配置 (1)服务器启动时候,加载spring配置文件,把配置文件中对象创建 (2)把sessionFactory对象创建在spring配置 (3)因为创建sessionFactory代码不是new出来的,而是多行代码实现的 (4)spring里面针对上面情况,封装类,配置类对象可以创建sessionFactory 第五步在dao里面使用hibernateTemplate (1)在dao得到hibernateTemplate的对象 (2)调用hibernate模板里面save方法添加 没有配置事务,做操作时候,出现异常 第六步配置事务 |
HibernateTemplate介绍
|
1 HibernateTemplate对hibernate框架进行封装, 直接调用HibernateTemplate里面的方法实现功能 2 HibernateTemplate常用的方法 • Serializable save(Object entity):添加操作 • void update(Object entity):修改操作 • void delete(Object entity):删除操作 • <T> T get(Class<T> entityClass, Serializable id):根据id查询 • <T> T load(Class<T> entityClass, Serializable id):根据id查询 • List find(String queryString, Object... values):查询操作的方法 (1)第一个参数是 hql语句 (2)语句参数值 |
SSH框架整合过程
|
第一步导入jar包 第二步搭建struts2环境 (1)创建action,创建struts.xml配置文件,配置action (2)配置struts2的过滤器 第三步搭建hibernate环境 (1)创建实体类 (2)配置实体类和数据库表映射关系 (3)创建hibernate核心配置文件 - 引入映射配置文件 第四步搭建spring环境 (1)创建spring核心配置文件 (2)让spring配置文件在服务器启动时候加载 - 配置监听器 - 指定spring配置文件位置 第五步 struts2和spring整合 (1)把action在spring配置(action多实例的) (2)在struts.xml中action标签class属性里面写 bean的id值 第六步 spring和hibernate整合 (1)把hibernate核心配置文件中数据库配置,在spring里面配置 (2)把hibernate的sessionFactory在spring配置 第七步在dao里面使用hibernateTemplate (1)在dao注入hibernateTemplate对象 (2)在hibernateTemplate对象中注入sessionFactory 第八步配置事务 出现异常时候, 第一行异常信息 下面 cased by: |
整合其他方式
|
1 spring整合hibernate时候,可以不写hibernate核心配置文件 (1)把hibernate核心配置文件中,基本信息配置和映射引入都放到spring配置 |
Spring分模块开发
|
1 在spring里面配置多个内容,造成配置混乱,不利用维护 2 把spring核心配置文件中,一部分配置放到单独的配置文件中,在spring核心配置文件中引入单独配置文件 |
问题:
|
1 在struts2里面和hibernate里面都有jar包 Jar包冲突问题,删除其中的一个,删除低版本的jar包 2 如果把数据库信息配置在hibernate里面进行配置 (1)出现异常,事务里面找不到数据源了 (2)数据库配置在spring里面配置 |
SSH练习功能
|
1 客户管理 (1)crud操作 2 联系人管理 (1)配置一对多操作 (2)添加联系人 - 选择所属客户 - struts2实现文件上传 (3)联系人列表 (4)修改联系人 3 客户拜访管理 (1)多对多配置拆分成两个有对多实现 4 综合查询 (1)多条件组合查询 5 统计分析 (1)hibernateTemplate调用底层sql实现功能 6 其他知识 (1)svn版本控制工具使用 (2)代码重构 - baseDao抽取 (3)插件:jquery easyui - jquery ajax操作 - json数据格式 |
完成任务
|
1 搭建ssh整合环境 2 复习知识 (1)jquery ajax操作 (2)json数据格式 |