第一章 框架技术概述
“框架技术”帮我们更快更好的构建程序:
① 是一个应用程序的半成品
② 提供可重用的公共结构
③ 按一定规则组织的一组组件
优势:
① 不用再考虑公共问题
② 专心在业务实现上
③ 结构统一,易于学习、维护
④ 新手也可写出好程序
概念分析:
技术:解决某一类问题的方法
组件:应用程序里可重用的“零件”
框架:一系列组件,按照一定的结构组合在一起。作为系统开发的平台。
系统:实现完整功能的应用程序。
SSH:
Struts:
① MVC设计模式的实现
② 接收用户请求,调用业务逻辑代码,转发到正确界面
③ 控制器
Spring:
① 依赖注入容器/AOP实现
② 声明式事务
③ 简化Java EE应用
④ 粘合剂,将大家组装到一起
HIBERNATE:
① ORM,简化数据库操作
② DAO层
分层原则: 各层职责明确,上一层调下一层
数据访问层/DAO层 : 数据访问 JDBC/Hibernate
业务逻辑层/BIZ层/服务层/Service层 : 业务逻辑 普通Java类
表示层/WEB层/表现层/页面层 :与用户交互,获得输入,展示输出JSP/Taglib/Servlet/JavaS
MVC含义:
M-Model—处理业务逻辑
V-View—展示数据,获得用户输入
C-Controllor—接收用户输入,调用业务代码(M),返回数据到视图(V)
目的:
将模型(业务逻辑)和视图(页面展示)分离
Struts是一个成熟的MVC实现:
第一个开源的Java Web框架
Java Web框架的事实标准
利于快速开发稳健的Web应用
第二章 Struts原理(一)
使用Struts开发的4个步骤:
① 给项目添加Struts支持:
选中项目,右键 MyEclipse→Add Struts Capabilities
② 实现业务类
③ 添加Struts组件:
a) ActionForm
b) Act
c) 添加JSP页面
d) 配置struts-config.xml
④ 调试运行
使用Struts开发的步骤:
① 添加Struts支持
② 开发业务逻辑类(模型 Model)
③ 开发ActionForm组件(视图组件,View)
④ 开发Act
⑤ 开发JSP页面
⑥ 修改配置文件struts-config.xml,配置ActionForm和Act
⑦ 调试运行
控制器组件:
ActionServlet:
① 由Struts提供:org.apache.struts.act
② 是一个Servlet,需要在web.xml中配置
Act
① 封装一类客户操作
② 继承自org.apache.struts.act
③ 需要在struts-config.xml中配置
视图组件:
ActionForm -- Form Bean
① 封装页面提交的数据
② 继承自org.apache.struts.act
③ 需要在struts-config.xml中配置
④ 与JSP的交互
A.从页面获得输入
B. 发送数据到页面
其他视图组件:JSP、JSTL、EL、自定义标签
模型组件:
① Struts对模型组件的实现没有任何限制
② 一般为:[User]Biz接口、[User]BizImpl类、[User]DAO接口、[User]DAOJdbcImpl类
struts-config.xml
Struts运行过程:
① HTTP请求②请求填充Form Bean③将HTTP请求分发至Act
④调用JavaBean⑤转发HTTP请求⑥HTTP响应
第三章 Struts原理(二)
DynaActionForm(动态) 、DispatchActionForm、实体对象做ActionForm的属性
第四章 Struts标签库
几个常用的标签:
html :text、html :select、html :option、html :optionCollection
logic:empty、logic:equal、logic:iterate、
bean:write、bean:define、bean:size
通用属性
id : 自定义标签创建的脚本变量名
name :指出对应Bean的名字。如果给出了scope属性,则仅仅在scope中查找。否则,根据规定的顺序(page、request、session、application)在各个scope中查找
property:指出Bean中的某个属性,可以在其中检索值。如果没有标明,则使用对象本身的值。
scope :定义了Bean在哪个范围(page、request、session、application)中被查找。脚本变量将在相同范围创建。
第五章 使用Hibernate完成对象持久化
Hibernate 是一个优秀的持久化框架
瞬时状态:保存在内存的程序数据,程序退出后,数据就消失了
持久化: 将程序数据在瞬时状态和持久状态之间转换的机制
持久状态:保存在磁盘上的程序数据,程序退出后依然存在
Hibernate是一个主流的ORM框架:
ORM(对象-关系映射):
完成对象数据到关系型数据映射的机制称为对象-关系映射,简称ORM
使用Hibernate的“3个准备,7个步骤” :
三个准备:
1:导入Hibernate库(jar包)
2:添加配置文件 – hibernate.cfg.xml
3:添加对应表的实体类和映射文件
七个步骤:
1、 Configuration
2、 创建SessionFactory
3、 打开Session
4、 开始一个事务
5、 持久化操作 save/update/delete/find
6、 提交事务
7、 关闭Session
第六章 Hibernate的关联映射
多对一 <many-to-on
set 节点上 的属性:
inverse : 反转;表示关联关系的控制权
为 true 表示由对方负责关联关系的添加和删除
为 false 表示由自己负责维护关联关系
cascade : 级联
all :对所有操作都进行级联; none :对所有操作都不进行级联
save-update :执行更新操作时级联
delete : 执行删除操作时级联
多对多<many-to-many>、
第七章 Hibernate查询
HQL : Hibernate Query Language : Hibernate查询语言
使用HQL 四步:
①、得到Session ②、编写HQL语句
③、创建Query ④执行查询
HQL 是面向对象的查询语言,from 类名【不是表名】
参数查询:
类 pstmt的参数查询:
①query设置参数的数目 == hql语句中占位符的数目
②占位符 下表从 0开始
③ 可以使用 命名参数 “:参数名”的格式在hql语句定义;query.setXX(参数名,值)
第八章 使用Spring容器管理对象
Spring :轻量级框架,Java EE的春天,当前主流框架
目标:使现有技术更加易用,推进编码最佳实践
内容:依赖注入容器,AOP实现(声明式事务),DAO/ORM支持,Web集成
好莱坞原则(Hollywood Principle) :不要调用我,让我来调用你
耦合的坏处:如果改变程序的一个模块要求另一个模块同时发生变化,就认为两个模块发生了耦合
目的:组件的构建和使用分开
IoC: Inversion of Control 控制反转
DI:Dependency Injection 依赖注入 :编写程序时不用关心其依赖的组件
AOP:面向方面编程 将程序中涉及的公共问题集中解决
Advice:通知,定义一个 “方面”要实现的功能。分前置通知、后置通知、环绕通知和异常通知等类型。
AOP目标:专心做事
原理:将散布在系统中的公共功能集中解决
实现:采用一个机制:
①将复杂的需求分解出不同的方面②专心做事③组装起来运行
Spring的AOP机制:
在方法调用前、后、环绕或抛出异常时,“织入”方面代码
通过代理访问被代理的类
总结:Spring包含:依赖注入容器、AOP实现、DAO/ORM支持、Web集成
依赖注入的好处:分离组件的使用和实现
Spring怎么实现依赖注入:添加getter/setter方法,使用配置文件组装
“面向方面编程”好处:将“方面”分离出来,写代码时只需关注当前业务逻辑
Spring怎么实现AOP:在方法调用前、后或抛出异常时“织入”方面代码
第九章 Spring与Struts、Hibernate的集成
依赖注入顺序:dataSource → sessionFactory → DAO→Biz→Act
Spring 与Hibernate集成:
XXXDAOHibImpl extends HibernateDaoSupport implements XXXDAO
配置数据源dataSource、配置SessionFactory、
使用 Spring重新组装Web程序,管理依赖关系
Spring与 Struts集成:
① 在 struts-config.xml中配置插件
② 修改 ActionBean type=”org.springframework.web.struts.DelegatingActionProxy”
③ 在Spring配置文件中配置Act
声明式事务:
事务管理:在业务逻辑层控制事务、采用AOP的方式实现声明式事务
第十章 使用Ajax改进用户体验
Web 2.0特点:内容聚合:RSS;用户贡献内容;社会化网络
Ajax:只刷新局部页面的技术
Ajax:Asynchronous And XML 【Asynchronous异步的、JavaS
异步:发送请求后不等返回结果,由回调函数处理结果
JavaS
XML:封装数据
用途:使用JavaS
使用Ajax:
①编写服务器端代码(out.print(布尔类型的值))
②使用xmlHttpRequest组件发送请求(1、判断浏览器;2、发送请求到服务器,判断)
③编写回调函数(
xmlHttpRequest.readyState:0[未初始化];1[初始化];2[发送请求];3[开始接受结果];4[接受结果完毕]
xmlHttpRequest.status:HTML返回码:200:OK;404:Not Found;500:服务器端出错
)
DWR – Drect Web Remoting
① 开源,免费的Ajax框架
② 将Java类发布为JavaS
③ 提供JavaS
使用DWR:
①、准备工作:下载dwr.jar,添加包;配置/WEB-INF/dwr.xml;在web.xml中配置;
②、 发布Java类
③、页面代码配置
id: 588663070
title: 2的笔记--BW2【BW】
publishTime: 1265190321393
classId: 88735822
moveForm: NONE
没有评论 :
发表评论