《Java Web编程技术 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:沈泽刚,秦玉平主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302346876
  • 页数:354 页
图书介绍:本书详细介绍了基于Java的Web编程技术,主要内容包括:Web技术基础;Servlet技术模型和Servlet容器模型;JSP的各种元素、生命周期、作用域对象等;Web应用开发中组件重用技术;表达式语言的使用,标准标签库和自定义标签以及标签文件的使用等;Web应用的事件处理与过滤器的应用以及安全性等问题;最后介绍了Struts框架和Ajax技术。

第1章 Java Web技术概述 1

1.1 Internet与万维网 1

1.1.1 主机和IP地址 1

1.1.2 域名和DNS 1

1.1.3 万维网概述 2

1.1.4 服务器和浏览器 2

1.2 Web常用技术 3

1.2.1 HTTP概述 3

1.2.2 URL和URI 3

1.2.3 HTML和XML概述 4

1.2.4 CSS概述 6

1.2.5 JavaScript 8

1.3 服务器资源 10

1.3.1 主动资源与被动资源 10

1.3.2 静态文档和动态文档 10

1.3.3 服务器端动态Web文档技术 11

1.3.4 客户端动态Web文档技术 12

1.4 Tomcat服务器 12

1.4.1 Tomcat下载与安装 12

1.4.2 Tomcat的安装目录 14

1.4.3 测试Tomcat 14

1.4.4 配置Tomcat的服务端口 15

1.4.5 Tomcat的启动和停止 15

1.5 Servlet与JSP入门 16

1.5.1 Servlet 16

1.5.2 Web容器 17

1.5.3 JSP页面 18

1.6 MVC设计模式 18

1.6.1 Model 1体系结构 18

1.6.2 Model 2体系结构 18

小结 19

习题 19

第2章 Servlet技术模型 21

2.1 Servlet API 21

2.1.1 javax.servlet包 21

2.1.2 javax.servlet.http包 23

2.2 Servlet生命周期 24

2.2.1 加载和实例化Servlet 24

2.2.2 初始化Servlet 24

2.2.3 为客户提供服务 25

2.2.4 销毁和卸载Servlet 25

2.3 分析请求 25

2.3.1 HTTP请求结构 25

2.3.2 发送HTTP请求 27

2.3.3 处理HTTP请求 27

2.3.4 分析请求 28

2.3.5 请求转发 32

2.3.6 使用请求对象存储数据 33

2.3.7 实例:一个简单的考试系统 34

2.3.8 文件上传 36

2.4 发送响应 39

2.4.1 HTTP响应结构 39

2.4.2 输出流与内容类型 40

2.4.3 设置响应头 42

2.4.4 响应重定向 43

2.4.5 发送状态码和错误消息 44

2.5 Web应用程序及结构 46

2.5.1 Web应用程序 46

2.5.2 应用服务器 46

2.5.3 Web应用程序的结构 46

2.6 部署描述文件 48

2.6.1 DD文件的定义 48

2.6.2 <servlet>元素 49

2.6.3 <servlet-mapping>元素 50

2.6.4 <welcome-file-list>元素 52

2.7 @WebServlet和@WebInitParam注解 52

2.8 ServletConfig接口 53

小结 55

习题 55

第3章 Servlet容器模型 58

3.1 ServletContext接口 58

3.1.1 得到ServletContext引用 58

3.1.2 获取应用程序的初始化参数 58

3.1.3 通过ServletContext对象获得资源 59

3.1.4 登录日志 60

3.1.5 使用RequestDispatcher实现请求转发 60

3.1.6 使用ServletContext对象存储数据 60

3.1.7 检索Servlet容器的信息 61

3.2 会话管理 61

3.2.1 理解状态与会话 61

3.2.2 会话管理机制 62

3.2.3 HttpSession API 63

3.2.4 使用HttpSession对象 63

3.2.5 会话超时与失效 65

3.3 Cookie及其应用 67

3.3.1 Cookie API 67

3.3.2 向客户端发送Cookie 67

3.3.3 从客户端读取Cookie 68

3.3.4 Cookie的安全问题 69

3.3.5 实例:用Cookie实现自动登录 70

小结 71

习题 72

第4章 JSP技术模型 75

4.1 JSP语法概述 75

4.1.1 JSP脚本元素 76

4.1.2 JSP指令 77

4.1.3 JSP动作 78

4.1.4 表达式语言 78

4.1.5 JSP注释 78

4.2 JSP页面生命周期 79

4.2.1 JSP页面也是Servlet 79

4.2.2 JSP生命周期阶段 79

4.2.3 JSP生命周期方法示例 82

4.2.4 理解页面转换过程 82

4.2.5 理解转换单元 83

4.3 理解page指令属性 83

4.3.1 import属性 84

4.3.2 contentType和pageEncoding属性 84

4.3.3 session属性 84

4.3.4 errorPage与isErrorPage属性 84

4.3.5 在DD中配置错误页面 85

4.3.6 language与extends属性 86

4.3.7 buffer与autoFlush属性 86

4.3.8 info属性 86

4.4 JSP脚本元素 87

4.4.1 变量的声明及顺序 87

4.4.2 使用条件和循环语句 88

4.4.3 请求时属性表达式的使用 90

4.5 JSP隐含变量 90

4.5.1 request与response变量 91

4.5.2 out变量 91

4.5.3 application变量 92

4.5.4 session变量 92

4.5.5 pageContext变量 92

4.5.6 page变量 93

4.5.7 config变量 93

4.5.8 exception变量 93

4.6 作用域对象 94

4.6.1 应用作用域 94

4.6.2 会话作用域 94

4.6.3 请求作用域 95

4.6.4 页面作用域 95

4.7 JSP组件包含 97

4.7.1 静态包含:include指令 97

4.7.2 动态包含:include动作 98

4.7.3 使用<jsp:forward>动作 101

4.7.4 实例:使用包含设计页面布局 101

4.8 JavaBeans 103

4.8.1 JavaBeans规范 103

4.8.2 使用<jsp:useBean>动作 105

4.8.3 使用<jsp:setProperty>动作 106

4.8.4 使用<jsp:getProperty>动作 108

4.8.5 JavaBeans应用示例 108

4.8.6 实现MVC模式的一般步骤 110

小结 111

习题 112

第5章 表达式语言 115

5.1 理解表达式语言 115

5.1.1 表达式语言的调用 115

5.1.2 表达式语言的功能 115

5.1.3 表达式语言与JSP表达式的区别 116

5.2 使用EL运算符 116

5.2.1 算术运算符 116

5.2.2 关系与逻辑运算符 117

5.2.3 条件运算符 118

5.2.4 empty运算符 118

5.2.5 属性与集合元素访问运算符 118

5.3 使用EL访问数据 119

5.3.1 访问作用域变量 119

5.3.2 访问JavaBeans属性 120

5.3.3 访问集合元素 123

5.3.4 访问EL的隐含变量 125

小结 128

习题 128

第6章 JSP标签技术 130

6.1 自定义标签的开发 130

6.1.1 标签扩展API 130

6.1.2 自定义标签的开发步骤 130

6.1.3 SimpleTag接口及其生命周期 132

6.1.4 SimpleTagSupport类 133

6.2 理解TLD文件 134

6.2.1 <taglib>元素 134

6.2.2 <uri>元素 135

6.2.3 <tag>元素 136

6.2.4 <attribute>元素 137

6.2.5 <body-content>元素 137

6.3 几种类型标签的开发 138

6.3.1 空标签的开发 138

6.3.2 带属性标签的开发 139

6.3.3 带标签体的标签 141

6.3.4 迭代标签 143

6.3.5 在标签中使用EL 144

6.3.6 使用动态属性 147

6.3.7 编写协作标签 149

6.4 JSP标准标签库 151

6.4.1 JSTL概述 151

6.4.2 JSTL核心标签库 152

6.4.3 通用目的标签 152

6.4.4 条件控制标签 155

6.4.5 循环控制标签 156

6.4.6 URL相关的标签 160

小结 162

习题 162

第7章 JDBC数据库访问 167

7.1 JDBC技术概述 167

7.1.1 数据库访问的两层和三层模型 167

7.1.2 JDBC驱动程序 168

7.1.3 安装JDBC驱动程序 168

7.2 传统的数据库连接方法 169

7.2.1 加载驱动程序 169

7.2.2 建立连接对象 169

7.2.3 创建语句对象 171

7.2.4 获得SQL语句的执行结果 171

7.2.5 关闭建立的对象 171

7.2.6 简单的应用示例 171

7.3 JDBC API介绍 176

7.3.1 Connection接口 176

7.3.2 Statement接口 176

7.3.3 ResultSet接口 177

7.3.4 可滚动与可更新的ResultSet 178

7.4 预处理语句 180

7.4.1 创建PreparedStatement对象 180

7.4.2 使用PreparedStatement对象 181

7.5 连接池与数据源 182

7.5.1 连接池与数据源介绍 182

7.5.2 配置数据源 183

7.6 DAO设计模式 185

7.6.1 设计传输对象 185

7.6.2 设计DAO对象 186

7.6.3 使用DAO对象 188

小结 189

习题 189

第8章 Servlet高级应用 191

8.1 Web监听器 191

8.1.1 监听ServletContext事件 191

8.1.2 监听请求事件 194

8.1.3 监听会话事件 195

8.1.4 事件监听器的注册 199

8.2 Web过滤器 199

8.2.1 什么是过滤器 199

8.2.2 过滤器API 200

8.2.3 一个简单的过滤器 201

8.2.4 @WebFilter注解 202

8.2.5 在DD中配置过滤器 204

8.3 Servlet的多线程问题 206

8.4 Servlet的异步处理 209

8.4.1 概述 209

8.4.2 异步调用Servlet的开发 210

8.4.3 实现AsyncListener接口 211

小结 213

习题 213

第9章 Web安全性入门 216

9.1 Web安全性措施 216

9.1.1 理解验证机制 216

9.1.2 验证的类型 217

9.1.3 基本验证的过程 217

9.1.4 声明式安全与编程式安全 218

9.2 安全域模型 218

9.2.1 安全域概述 218

9.2.2 定义角色与用户 219

9.3 定义安全约束 220

9.3.1 安全约束定义 220

9.3.2 安全验证示例 222

9.4 编程式的安全 225

小结 227

习题 227

第10章 AJAX技术基础 230

10.1 Web 2.0与AJAX技术概述 230

10.1.1 什么是AJAX 230

10.1.2 AJAX相关技术简介 230

10.2 XMLHttpRequest对象 232

10.2.1 创建XMLHttpRequest对象 232

10.2.2 XMLHttpRequest的属性 233

10.2.3 XMLHttpRequest的方法 233

10.2.4 一个简单的示例 234

10.2.5 AJAX的交互模式 234

10.2.6 使用innerHTML属性创建动态内容 236

10.3 DOM和JavaScript 238

10.3.1 什么是DOM 238

10.3.2 DOM与JavaScript 238

10.3.3 使用DOM动态编辑页面 240

10.3.4 发送请求参数 243

10.4 AJAX的常用应用 244

10.4.1 表单数据验证 244

10.4.2 动态加载列表框 245

10.4.3 创建工具提示 248

10.4.4 动态更新Web页面 251

小结 255

习题 256

第11章 Hibernate框架基础 257

11.1 ORM与Hibernate 257

11.1.1 数据持久化与ORM 257

11.1.2 Hibernate软件包简介 257

11.2 第一个Hibernate程序 258

11.2.1 准备数据库表 258

11.2.2 定义持久化类 258

11.2.3 定义映射文件 260

11.2.4 编写配置文件 260

11.2.5 编写测试程序 261

11.2.6 Hibernate的自动建表技术 262

11.2.7 HibernateUtil辅助类 263

11.2.8 测试类的开发 264

11.3 Hibernate框架结构 265

11.3.1 Hibernate的体系结构 265

11.3.2 理解持久化对象 265

11.3.3 Hibernate的核心组件 265

11.3.4 持久化对象的状态 266

11.4 Hibernate核心API 266

11.4.1 Configuration类 266

11.4.2 SessionFactory接口 267

11.4.3 Session接口 267

11.4.4 Transaction接口 269

11.4.5 Query接口 269

11.5 映射文件详解 270

11.6 配置文件详解 272

11.6.1 hibernate.properties 272

11.6.2 hibernate.cfg.xml 273

11.7 关联映射 275

11.7.1 实体关联类型 275

11.7.2 单向关联和双向关联 275

11.7.3 关联方向与查询 275

11.7.4 一对多关联映射 275

11.7.5 一对一关联映射 279

11.7.6 多对多关联映射 281

11.8 组件属性映射 284

11.9 继承映射 286

11.9.1 所有类映射成一张表 286

11.9.2 每个子类映射成一张表 287

11.9.3 每个具体类映射成一张表 288

11.10 Hibernate数据查询 289

11.10.1 HQL查询概述 289

11.10.2 查询结果处理 289

11.10.3 HQL的from子句 290

11.10.4 HQL的select子句 290

11.10.5 HQL的聚集函数 291

11.10.6 HQL的where子句 291

11.10.7 HQL的order by子句 292

11.10.8 HQL的group by子句 292

11.10.9 带参数的查询 292

11.10.10 关联和连接 293

11.11 其他查询技术 293

11.11.1 条件查询 293

11.11.2 本地SQL查询 295

11.11.3 命名查询 295

小结 296

习题 296

第12章 Struts 2框架基础 297

12.1 Struts 2框架概述 297

12.1.1 Struts 2框架的组成 297

12.1.2 Struts 2开发环境的构建 298

12.1.3 Struts 2应用的开发步骤 299

12.1.4 一个简单的应用程序 300

12.1.5 动作类 303

12.1.6 配置文件 306

12.1.7 模型驱动和属性驱动 310

12.2 注册登录系统 310

12.2.1 定义持久化类 310

12.2.2 持久层实现 311

12.2.3 定义Action动作类 311

12.2.4 创建结果视图 312

12.2.5 修改struts.xml配置文件 314

12.2.6 运行应用程序 314

12.3 OGNL 315

12.3.1 ValueStack栈 315

12.3.2 读取Object Stack中对象的属性 316

12.3.3 读取Stack Context中对象的属性 317

12.3.4 使用OGNL访问数组元素 318

12.3.5 使用OGNL访问List类型的属性 318

12.3.6 使用OGNL访问Map类型的属性 318

12.4 Struts 2常用标签 319

12.4.1 常用数据标签 319

12.4.2 控制标签 324

12.4.3 表单UI标签 331

12.4.4 模板与主题 335

12.5 用户输入校验 336

12.5.1 使用Struts 2校验框架 336

12.5.2 使用客户端校验 339

12.5.3 编程实现校验 340

12.5.4 使用Java注解校验 341

12.6 Struts 2的国际化 341

12.6.1 国际化 342

12.6.2 属性文件 342

12.6.3 属性文件的级别 342

12.6.4 Action的国际化 343

12.6.5 JSP页面国际化 344

12.6.6 实例:Action属性文件应用 345

12.6.7 实例:全局属性文件应用 346

12.7 用Tiles实现页面布局 347

12.7.1 安装所需的工具和库 347

12.7.2 在web.xml中配置Tiles 347

12.7.3 创建模板页面 348

12.7.4 创建titles.xml定义文件 349

12.7.5 创建LoginAction类 350

12.7.6 创建struts.xml文件 350

12.7.7 创建JSP页面 351

12.7.8 运行应用程序 352

小结 352

习题 352

参考文献 354