Web
概念
Web:在计算机网页开发设计中指网页。
发展历程(3个阶段)
-
静态文档阶段:
格式:htm、html、shtml。
-
动态网页阶段:
动态网页指网页具有动态和个性化的交互,而不是动态效果。
格式:jsp、php、asp。
-
Web2.0阶段:
以用户为中心,促进信息交换和协同合作。
例:博客,微博,百科全书,社交网络,对等计算(P2P),即时信息,基于地理信息服务。
Web牵涉的技术
- 客户端技术
- HTML
- CSS:层叠样式表
- Flash:交互式矢量动画制作技术
- 客户端脚本技术
- 服务器端技术
- CGI:通用网关接口。
- ASP
- PHP:一种开发动态网页技术的名称。
- ASP.NET:建立动态Web应用程序的技术。
- JSP:基础是Java。
HTML
Web应用开发中的一种客户端技术。网页制作标注性语言,不算程序设计语言。
定义:超文本标记语言。
- 客户端技术的基础。
- 用于显示网页信息。
- 不需要编译,由浏览器解释执行。
不区分大小写。
文档结构
文档标记若是成对出现,均是以 <?> 开头,以 </?> 结束。注意斜杠方向。
主要标记
html 标记
是HTML文件的开头。
以 <html> 开头, </html> 结束。
成对出现。
head 标记
头标记,放置文件信息。
成对出现。
title 标记
网页标题标记,内含网页标题。
定义在 head 标记内
显示在浏览器顶部。
成对出现。
body 标记
页面主体标记。页面内容定义在 <body> 标记中。
成对出现。
常用标记
- 换行:<br> 单独
- 段落:<p> 成对
- 标题:<h?> “?”是一个数字,如 <h1> 表示一级标题。成对
- 居中:<center> 成对
- 文字列表标记
- 无序列表 <ul> unordered list 成对
- 有序列表 <ol> ordered list 成对
表格标记
-
表格标记: <table> 成对
标记内可以定义属性。
-
标题标记: <caption> 成对
标记内可以定义属性。
-
表头标记: <th> 成对
标记内可以定义属性。
-
表格行标记: <tr> 成对
标记内可以定义属性。
-
单元格标记: <td> 成对
标记内可以定义属性。
表单标记
表单是类似登录界面用户名文本框和密码文本框的元素。
- <form> 标记,表单标记,成对
- <input> 标记,表单输入标记 ,单独
- <select> 标记,下拉菜单标记,成对
- <textarea> 标记,多行文本标记,一般存在于 <form> 标记中,创造一个可以输入多行文本的输入框。单独
form 是一整块表单,可能包含多个输入框,而 input 是单个输入框。
超链接标记和图片标记
- 超链接标记:<a> ,成对
- 图像标记:<img> ,成对
CSS
样式表(层叠样式表)。
- 对网页的样式实现了更精确的控制。
- 美化页面
- 优化网页速度(本身提供很多滤镜效果,避免使用大量图片,压缩文件体积,提高下载速度)
与HTML的关系:HTML是内容,CSS是形式。
CSS规则
CSS的三部分:选择符(选择器)、属性、属性值。
选择器
标记选择器
如a选择器
<style>
a{
<!--属性值-->
}
</style>
类别选择器
ID选择器
属性
字体属性,文本属性,背景属性,布局属性,边界属性,列表项目属性,表格属性等。
属性值
属性的有效值。
页面中如何加入css
-
行内样式
通过行内定义样式,控制页面样式。
-
内嵌式样式表
利用 <style></style> 标记将CSS样式包含在页面中。
-
链接式样式表
将 CSS 定义在一个单独的文件中,在 HTML 中通过 <link> 引用。
Javascript
脚本语言
特点:
- 解释性
- 基于对象
- 事件驱动
- 安全性
- 跨平台
区分大小写。
行尾分号可有可无。
弱类型。
大括号标记代码块。
注释 // /**/
Ajax技术
异步的 JavaScript 与 XML 。
是 JavaScript 、 XML 、 CSS 、 DOM 等多种已有技术的组合。
核心: XMLHttpRequest ,一个具有应用程序接口的 JavaScript 对象。
Ajax 引擎:
- 用户通过 Ajax 引擎与服务器端通信,返回结果提交给 Ajax 引擎,再由 Ajax 引擎来决定将这些数据插入页面的指定位置。
优点:
- 减轻服务器负担
- 把一部分服务器负担的工作转移到客户端
- 无刷新更新页面
- 可以调用 XML 等外部数据
- 基于标准化的并广泛支持的技术不需要下载插件或者小程序
JSP
动态网页技术标准。
技术特征:
- 跨平台
- 业务代码分离
- 组件重用
- 继承 Java Servlet 功能
- 预编译
基本构成:
- 指令标签
- HTML 语句
- 注释
- 嵌入 Java 代码
- JSP 动作标签
指令标签
指令标签不会产生任何内容输出到网页中,主要是定义JSP页面的相关信息。
<%@ %>
page 指令
<%@ page %>
- language 属性,语言,目前只能Java
- extends 属性,继承的Java类
- import 属性,导入的类包
- pageEncoding 属性,定义编码格式
- contentType 属性,设置mime类型和字符编码
include 指令
在 JSP 中包含另一个文件的内容。静态包含,代码不会执行。
taglib指令
加载用户自定义标签。
request 对象
代表客户端请求信息。
作用域:一次请求。
作用:
- 获取请求参数
- 获取 form 表单信息
- 获取请求客户端信息
- 在作用域中管理属性
- cookie管理
response 对象
代表的是对客户端的响应。
将 JSP 容器处理过的对象传回到客户端。
作用域: JSP 页面内有效。
作用:
- 重定向网页
- 处理 HTTP 文件头
- 设置输出缓冲
session 对象
与用户请求相关的对象。服务器自动生成。
用 Map 类来保存数据,因此保存数据格式为 “key/value” 。其中 value 可以是复杂的对象类型,不仅仅是字符串类型。
作用域:在一次会话范围内有效。
作用:
- 创建及获取 session 信息
- 从会话中移除指定的绑定对象
- 销毁 session
- 会话超时的管理
- session 对象的应用
application 对象
将信息保存在服务器中,直到服务器关闭。生命周期长,类似于 “全局变量” 。
作用域:在整个上下文中生效。
作用:
- 访问应用程序初始化参数
- 管理应用程序环境属性
Servlet
是 使用 Java Servlet 接口 运行在 Web 应用服务器上的 Java 程序。
可以处理 Web 浏览器或其他 HTTP 客户端程序发送的请求。
Servlet 对象需要布置到 Servlet 容器中。
Servlet 生命周期
客户端请求 -> 客户端第一次请求服务
加载 Servlet -> 容器加载 Servlet 类,放入 Servlet 实例池
初始化 Servlet 对象 -> Servlet 对象的 init() 方法初始化
处理请求 -> 容器通过 Servlet 的 service() 方法处理客户端请求,service() 方法中,实例对不同的 HTTP 请求作出不同处理并响应
处理完成,回收对象 -> Web 容器关闭时,容器调用 Servlet 对象的 destroy() 方法对资源进行释放。此后, Servlet 对象将被垃圾回收器回收
Servlet 技术特点
- 方便、实用的 API 方法
- 高效的处理方式
- 跨平台
- 更加灵活、扩展
- 安全性高
Servlet 配置
- 声明 Servlet 对象
- 映射 Servlet
数据库系统
组成部分
- 数据库
- 数据库管理系统和应用系统
- 数据库管理员
关键组成部分:数据库管理系统,包括数据库定义、数据查询、数据维护等。
JDBC
用于执行 SQL 语句的 API 类包。
一组 Java 语言编写的类和接口。
操作
- 同数据库建立连接
- 向数据库发送 SQL 语句
- 处理数据库返回的结果
优点
- JDBC 与 ODBC 相似,便于开发人员理解。
- JDBC 使软件开发人员可以完全专注于业务逻辑的开发。
- JDBC 支持多种关系型数据库,大大增加了软件的可移植性。
- JDBC API 是面向对象的,软件开发人员可以对其二次封装,提高代码重用性。
缺点
- 通过 JDBC 访问数据库时速度将受到一定影响。
- 虽然 JDBC API 是面向对象的,但通过 JDBC 访问数据库依然是面向关系的。
- JDBC 提供了对不同厂家的产品的支持,将对数据源带来影响。
数据库操作的五大步骤
- 加载 JDBC 驱动程序。
- 创建 Connection 对象的实例。
- 执行 SQL 语句。
- 获得查询结果
- 关闭连接
Spring MVC 框架
Spring MVC 是一款基于 MVC 架构模式的轻量级 Web 框架。
M:model
V:view
C:controller
目的:
- 将 Web 开发模块化
- 解耦整体架构
- 简化 Web 开发流程
MVC 设计模式
三个核心
-
模型
模型代表核心功能。
-
视图
指用户看见并与之交互的界面。即 Java Web 应用程序的外观。
-
控制器
负责交互和将用户输入的数据导入模型。
三者关系
视图:显示数据 发送请求 接收数据更新
4、选择视图显示给用户↑↓1、发送请求
控制器:接收请求 将请求映射到模型
3、更新后回复控制器↑↓2、更新模型
模型:处理业务流程 通知视图更新
MVC模式特点
-
框架机制
Servlet 实现
-
拦截机制
- 方法级别的拦截
- 线程安全
-
性能
零配置
-
配置
项目管理和安全高
-
设计思想
Servlet 扩展
-
集成
继承 Ajax
体系结构
- HTTP 请求
- 寻找处理器
- 调用处理器
- 调用模型处理业务
- 得到处理结果
- 处理视图映射
- 将模型数据传给 View 显示
- HTTP 响应
Spring 的 DAO 模式(书P~259~)
DAO :数据访问对象,Data Access Object
作用:将持久性相关的问题与一般业务规则和工作隔离开来。
SSM
分别为 Spring 、SpringMVC 、MyBatis 三大框架。
作用
使用框架可以减少代码量。框架内有封装好的方法可供使用,枯燥的操作交给框架完成。