Java进阶学习第二十五天(SSH框架)

版权声明:使用本品须Jack Gao同意,违者必究 https://blog.csdn.net/Mr_GaoYang/article/details/83186881

一、SSH框架

1、Struts框架
① params拦截器: 请求数据封装
② 类型转换/数据处理
③ struts配置
④ 文件上传/下载/国际化处理
⑤ 数据效验/拦截器
⑥ Ognl表达式
⑦ 数据回显/模型驱动/防止表单重复提交

2、Hibernate框架
① Api简介
② 映射
◆ 多对一/一对多: 部门与员工
◆ 多对多/一对一
◆ 集合映射/组件映射/继承映射
③ Hibernate 缓存
④ 常用属性:inverse/lazy/cascade
⑤ 对象状态:临时/持久/游离

3、Spring框架
① Spring IOC容器 【Inversion Of Control,即控制反转】
创建对象/处理对象依赖关系
② Aop编程
③ Spring声明式事务管理
④ 框架整合
◆ Spring与Struts
◆ Spring与Hibernate
⑤ Spring对jdbc、hibernate操作的封装
JdbcTemplate (dataSource)/ HibernateTemplate(SessionFactory)

二、SSH整合

1、分成两部分
Spring与Struts整合
Spring与Hibernate整合

2、整合步骤
① 引入SSH Jar文件
【struts相关jar】
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-core-2.3.4.1.jar
xwork-core-2.3.4.1.jar
【hibernate 相关 jar】
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar
【Spring-core】核心功能
commons-logging-1.1.3.jar
spring-beans-3.2.5.RELEASE.jar
spring-context-3.2.5.RELEASE.jar
spring-core-3.2.5.RELEASE.jar
spring-expression-3.2.5.RELEASE.jar
【Spring-web】 对web模块支持
spring-web-3.2.5.RELEASE.jar
struts2-spring-plugin-2.3.4.1.jar
【Spring-Aop】aop支持
aopalliance.jar
aspectjrt.jar
aspectjweaver.jar
spring-aop-3.2.5.RELEASE.jar
【Spring-orm】对hibernate支持
c3p0-0.9.1.2.jar
mysql-connector-java-5.1.12-bin.jar
spring-orm-3.2.5.RELEASE.jar
spring-tx-3.2.5.RELEASE.jar
spring-jdbc-3.2.5.RELEASE.jar
其他【Spring-Jdbc/tx】jdbc支持包、事务相关包
② 配置
◆ Web.xml:初始化struts功能、spring容器
◆ Struts.xml:配置请求路径与映射action的关系
◆ Spring.xml:IOC容器配置
◇ bean-base.xml 【公用信息】
◇ bean-service.xml
◇ bean-dao.xml
◇ bean-action.xml
③ 开发:Entity/Dao/service/action

3、设计
① 系统设计:搭建系统框架结构(基于mvc结构应用)
② 确定项目的关键点/难点
③ 确定引用组件、公用类的版本
◆ Struts2.3
◆ Hibernate3.6
◆ Spring3.2

4、数据库设计
管理员表:t_admin
员工表:t_employee
部门:t_dept

5、编码顺序
① 设计数据库:ssh_demo
建表: t_admin/t_employee/t_dept
② 建立web项目、引入jar文件、准备环境……
③ 设计javabean、写映射

Admin.java:封装管理员
Employee.java:员工
Dept.java:部门

Admin.hbm.xml
Employee.hbm.xml
Dept.hbm.xml

④ Dao设计接口

AdminDao.java    管理员模块
			void  save(Admin admin);
			Admin findByAdmin(Admin  admin);
DeptDao.java      部门模块
			List<Dept> getAll();   
			Dept  findById(int  id);
EmployeeDao.java   员工模块
			Void  save(Employee  emp);
			Void  update(Employee  emp);
			Void  delete(int id);
			Employee  findById(int id);
			List<Employee> getAll();
			List<Employee> getAll(String  employeeName);

⑤ Dao接口实现
⑥ Service接口设计

AdminService.java    管理员模块
			void  register(Admin admin);
			Admin  login(Admin  admin);

⑦ Service接口实现
⑧ Action实现

扫描二维码关注公众号,回复: 4094040 查看本文章
EmployeeAction.java     员工模块
AdminAction.java		管理员模块

⑨ jsp页面

Index.jsp/list.jsp           首页列表
http://localhost:8080/项目    首页列表

优化部分:
⑩ 用户登陆拦截器
UserInterceptor.java:检查是否登陆,只有登陆才能操作,否则只能查看
⑪ Dao 操作优化
BaseDao.java:所有dao的通用方法,dao都必须继承此类(反射泛型)

猜你喜欢

转载自blog.csdn.net/Mr_GaoYang/article/details/83186881