轻松学Java Web开发
2013-4
电子工业出版社
张昆
《轻松学Java Web开发(图解版)》共分5篇。第1篇“JSP基础篇”,主要包括浏览器技术、JSP基础、JSP内置对象、JavaBean基础、Servlet编程以及EL表达式语言和JSTL标签等知识。第2篇“Struts2技术篇”,主要内容包括Struts2框架入门、Struts2配置详解、Struts2拦截器、Struts2类型转换和输入校验以及国际化和文件上传、标签库等内容。第3篇“Hibernate技术篇”,主要包括Hibernate框架入门、Hibernate的配置和会话等技术。第4篇“Spring技术篇”,主要内容包括Spring框架入门、控制反转和面向切面编程等方面的知识。第5篇“S2SH整合篇”,本篇主要实现了3种重要技术的整合开发。
JSP基础篇
第1章 浏览器技术 2
1.1 HTTP协议 2
1.1.1 HTTP协议原理 2
1.1.2 HTTP请求格式 3
1.1.3 HTTP响应格式 3
1.1.4 Content type 4
1.2 HTML 5
1.2.1 标记语言 5
1.2.2 超链接 7
1.2.3 静态页面 8
1.3 HTML常用表单标签 9
1.3.1 表单元素 9
1.3.2 表单元素的属性 12
1.3.3 表单中添加目的地址 12
1.3.4 表单中添加数据的提交方式 13
1.4 CSS基础 14
1.4.1 CSS属性设置 14
1.4.2 CSS绝对定位 17
1.4.3 CSS实现表格变色 18
1.5 小结 19
1.6 本章习题 19
第2章 JSP基础 21
2.1 JSP与服务器 21
2.1.1 JSP在服务器上的工作原理 21
2.1.2 Web服务器Tomcat的搭建 22
2.1.3 安装MyEclipse 26
2.1.4 MyEclipse中集成Tomcat服务器 28
2.1.5 MyEclipse中JSP页面的创建 30
2.1.6 MyEclipse中Web项目的发布和运行 32
2.2 JSP的基本语法 33
2.2.1 JSP注释 34
2.2.2 声明变量和方法 37
2.2.3 JSP表达式 37
2.3 JSP编译指令 38
2.3.1 page指令 38
2.3.2 include指令 40
2.3.3 taglib指令 41
2.4 JSP动作指令 42
2.4.1 动作指令 42
2.4.2 动作指令 44
2.4.3 动作指令 45
2.5 小结 46
2.6 本章习题 46
第3章 JSP内置对象 49
3.1 request内置对象 49
3.1.1 获取用户提交的表单信息 50
3.1.2 获取服务器端和客户端信息 51
3.1.3 request中保存和读取共享数据 53
3.2 response内置对象 54
3.2.1 response实现页面转向 54
3.2.2 动态设置页面返回的MIME类型 55
3.3 out内置对象 57
3.4 session内置对象 58
3.4.1 获取session的ID 59
3.4.2 session中保存和读取共享数据 60
3.4.3 session对象的生命周期 62
3.5 application内置对象 63
3.6 其他内置对象 64
3.6.1 pageContext内置对象 64
3.6.2 config内置对象 65
3.6.3 exception内置对象 65
3.6.4 page内置对象 65
3.7 JSP中的中文乱码问题 66
3.7.1 JSP页面中文乱码 66
3.7.2 表单提交中文乱码 67
3.7.3 URL传递参数中文乱码 69
3.7.4 MyEclipse开发工具中文JSP文件的保存 70
3.8 小结 71
3.9 本章习题 71
第4章 JavaBean基础 74
4.1 创建JavaBean 74
4.1.1 JavaBean类 74
4.1.2 JavaBean属性和方法 74
4.2 JSP与JavaBean交互的动作指令 76
4.2.1 动作指令 76
4.2.2 动作指令 78
4.2.3 动作指令 78
4.3 JavaBean的应用 81
4.3.1 计数器JavaBean 82
4.3.2 数据库应用 83
4.4 小结 85
4.5 本章习题 85
第5章 Servlet编程 88
5.1 Servlet基础 88
5.1.1 什么是Servlet 88
5.1.2 Servlet的生命周期 89
5.2 简单Servlet开发配置示例 89
5.3 使用HttpServlet处理客户端请求 92
5.3.1 处理Get请求doGet 92
5.3.2 处理Post请求doPost 94
5.4 JSP页面调用Servlet 96
5.4.1 通过表单提交调用Servlet 97
5.4.2 通过超链接调用Servlet 98
5.5 Servlet文件操作 100
5.5.1 Servlet读取文件 100
5.5.2 Servlet写文件 101
5.5.3 Servlet下载文件 102
5.6 Servlet的应用 103
5.6.1 获取请求信息头部内容 103
5.6.2 获取请求信息 104
5.6.3 获取参数信息 105
5.6.4 Cookie操作 107
5.7 Session技术 111
5.7.1 HttpSession接口方法 111
5.7.2 通过Cookie跟踪Session 112
5.7.3 通过重写URL跟踪Session 113
5.8 Servlet过滤器 115
5.8.1 过滤器的方法和配置 115
5.8.2 过滤器应用实例——禁止未授权的IP访问站点 116
5.8.3 过滤器应用实例——版权过滤器 118
5.9 Servlet监听器 119
5.9.1 监听Servlet上下文信息 119
5.9.2 监听HTTP会话信息 121
5.9.3 对客户端请求进行监听 123
5.10 小结 126
5.11 本章习题 126
第6章 用户自定义标签 130
6.1 自定义标签概述 130
6.1.1 自定义标签的构成 130
6.1.2 自定义标签声明 131
6.1.3 标签库描述符文件 131
6.1.4 标签处理器 133
6.2 简单格式的标签开发 134
6.3 自定义带有属性的标签 136
6.4 自定义带有体的标签 138
6.5 自定义嵌套标签 139
6.6 小结 143
6.7 本章习题 143
第7章 EL与JSTL 145
7.1 EL简介 145
7.2 EL应用 146
7.2.1 EL运算符求值 146
7.2.2 访问作用域变量 148
7.2.3 EL内置对象 149
7.2.4 EL函数 151
7.3 JSTL简介 152
7.4 Core标签库(核心标签库) 154
7.4.1 表达式操作标签 155
7.4.2 流程控制标签 159
7.4.3 迭代操作标签 161
7.4.4 URL相关的标签 164
7.5 XML操作标签库 167
7.5.1 核心操作标签 168
7.5.2 流程控制标签 171
7.5.3 转换操作标签 171
7.6 JSTL格式化标签库 171
7.6.1 国际化标签 172
7.6.2 消息标签 173
7.6.3 数字日期格式化标签 176
7.7 JSTL数据库标签库 179
7.7.1 建立数据源连接标签 180
7.7.2 数据库操作标签 181
7.8 JSTL函数标签库 183
7.9 小结 184
7.10 本章习题 185
Struts 2技术篇
第8章 Struts 2框架入门 190
8.1 Struts 2概述 190
8.1.1 Struts 2的由来 190
8.1.2 MVC模式 190
8.1.3 Java Web的实现模型 191
8.1.4 为什么要使用Struts 2 192
8.2 Struts 2的下载与安装 193
8.2.1 Struts 2的下载过程 193
8.2.2 Struts 2安装过程 194
8.3 使用Struts 2实现第一个程序 195
8.3.1 Struts 2的工作流程 195
8.3.2 开发一个Struts 2框架程序的步骤 196
8.3.3 配置web.xml 197
8.3.4 编写JSP界面 197
8.3.5 编写Action 197
8.3.6 配置文件中增加映射 198
8.4 小结 199
8.5 本章习题 199
第9章 Struts 2配置详解 201
9.1 Struts 2配置文件 201
9.1.1 web.xml文件 202
9.1.2 struts.xml文件 203
9.1.3 struts-default.xml和struts.properties文件 205
9.2 struts.xml文件配置详解 206
9.2.1 Bean配置 206
9.2.2 常量配置 207
9.2.3 包配置 208
9.2.4 命名空间配置 209
9.2.5 包含配置 210
9.2.6 拦截器配置 211
9.3 配置Action 211
9.3.1 Action实现类 211
9.3.2 间接访问Servlet API 213
9.3.3 直接访问Servlet API 216
9.3.4 动态方法调用 218
9.3.5 使用method属性和通配符映射 220
9.3.6 默认Action 221
9.4 配置Result 222
9.4.1 结果映射 222
9.4.2 dispatcher结果类型 223
9.4.3 redirect结果类型 225
9.4.4 redirectAction结果类型 225
9.4.5 使用通配符动态配置result 226
9.4.6 使用OGNL动态配置result 226
9.5 小结 228
9.6 本章习题 228
第10章 Struts 2拦截器 231
10.1 拦截器的实现原理 231
10.1.1 拦截器简介 231
10.1.2 拦截器实现原理 231
10.2 Struts 2拦截器 232
10.2.1 Struts 2拦截器原理 232
10.2.2 配置拦截器 232
10.3 自定义拦截器 234
10.3.1 自定义拦截器类 234
10.3.2 使用自定义拦截器 235
10.4 Struts 2系统拦截器 237
10.4.1 系统拦截器 237
10.4.2 timer拦截器实例 238
10.5 权限拦截器实例 239
10.5.1 权限拦截器 239
10.5.2 配置拦截器 240
10.5.3 业务控制器Action 240
10.6 小结 241
10.7 本章习题 241
第11章 Struts 2类型转换和输入校验 243
11.1 Struts 2类型转换基础 243
11.1.1 为什么需要类型转换 243
11.1.2 自定义类型转换器 244
11.2 使用Struts 2的类型转换 247
11.2.1 内建类型转换器 247
11.2.2 使用集合类型属性 249
11.3 Struts 2输入校验 251
11.3.1 使用validate方法完成输入校验 251
11.3.2 Struts 2内置校验框架 253
11.4 小结 255
11.5 本章习题 255
第12章 国际化和文件上传 259
12.1 JSP页面国际化 259
12.1.1 加载全局资源文件实现国际化 259
12.1.2 临时指定资源文件完成国际化 261
12.1.3 为资源文件传递参数 261
12.2 Action国际化 262
12.2.1 加载全局资源文件完成国际化 263
12.2.2 加载包范围资源文件完成国际化 264
12.2.3 加载Action范围资源文件完成国际化 265
12.2.4 资源文件加载顺序 266
12.3 基于Struts 2完成文件上传 266
12.3.1 下载并安装Common-FileUpload框架 266
12.3.2 实现文件上传控制器 267
12.3.3 完成文件上传 268
12.4 多文件上传 269
12.4.1 实现多文件上传控制器 269
12.4.2 完成多文件上传 270
12.5 小结 272
12.6 本章习题 272
第13章 Struts 2标签库 275
13.1 Struts 2标签库概述 275
13.2 控制标签 277
13.2.1 if/elseif/else标签 277
13.2.2 iterator标签 278
13.2.3 append标签 279
12.2.4 generator标签 280
13.3 数据标签 281
13.3.1 action标签 281
13.3.2 bean标签 283
13.3.3 date标签 284
13.4 表单标签 285
13.4.1 简单表单标签 285
13.4.2 combobox标签 286
13.4.3 datetimepicker标签 287
13.5 小结 289
13.6 本章习题 289
Hibernate技术篇
第14章 Hibernate框架入门 294
14.1 Hibernate概述 294
14.1.1 什么是ORM 294
14.1.2 为什么要使用ORM 295
14.1.3 使用Hibernate的优势 296
14.2 在程序中使用Hibernate 296
14.2.1 安装MySQL数据库 296
14.2.2 MyEclipse对Hibernate的支持 299
14.3 第一个Hibernate程序 301
14.3.1 开发Hibernate程序的基本步骤 301
14.3.2 创建数据库 302
14.3.3 创建Hibernate配置文件 302
14.3.4 创建会话工厂类 302
14.3.5 创建实体类 302
14.3.6 创建对象关系映射文件 303
14.3.7 完成插入数据 304
14.3.8 查询学生列表 305
14.4 小结 305
14.5 本章习题 306
第15章 Hibernate配置和会话 308
15.1 传统方式配置Hibernate 308
15.1.1 配置Hibernate 308
15.1.2 配置映射文件 309
15.2 使用Annotations配置映射 312
15.2.1 使用@Entity注释实体类 312
15.2.2 使用@Table注释实体类 313
15.2.3 使用@Id注释实体类标识 313
15.2.4 使用@GenerateValue注释覆盖标识的默认访问策略 314
15.2.5 使用@GenericGenerator注释生成标识生成器 315
15.2.6 使用@Column注释实体类非标识属性 316
15.2.7 自定义AnnotationSessionFactory类获得Session对象 316
15.2.8 测试Annotations注释是否成功完成映射 317
15.3 会话(Session)的应用 318
15.3.1 Hibernate对象状态 319
15.3.2 使用save方法持久化对象 319
15.3.3 使用load方法装载对象 320
15.3.4 使用refresh方法刷新对象 321
15.3.5 使用delete方法删除对象 322
15.4 小结 322
15.5 本章习题 323
Spring技术篇
第16章 Spring框架入门 328
16.1 Spring概述 328
16.1.1 Spring技术介绍 328
16.1.2 为什么使用Spring 329
16.2 Spring开发环境的搭建 329
16.3 开发Spring的HelloWorld程序 330
16.3.1 开发Spring程序的步骤 331
16.3.2 编写业务接口 331
16.3.3 编写业务实现类 331
16.3.4 配置业务实现类 332
16.3.5 编写客户端进行测试 332
16.4 小结 333
16.5 本章习题 333
第17章 控制反转 335
17.1 IoC容器 335
17.1.1 Bean工厂接口 335
17.1.2 实例化容器 335
17.1.3 多配置文件的使用 336
17.1.4 使用容器实例化Bean 336
17.2 依赖注入 337
17.2.1 Setter方法注入 337
17.2.2 构造函数注入 338
17.2.3 注入其他Bean 339
17.2.4 注入集合 341
17.3 Bean作用域 342
17.3.1 singleton作用域 343
17.3.2 prototype作用域 343
17.3.3 request作用域 343
17.3.4 Session作用域 344
17.3.5 global session作用域 344
17.4 小结 344
17.5 本章习题 344
第18章 面向切面编程 346
18.1 面向切面编程简介 346
18.1.1 面向切面编程的概念 346
18.1.2 面向切面编程的功能 347
18.2 使用注解方式进行AOP开发 347
18.2.1 启动AspectJ的支持 347
18.2.2 声明切面 348
18.2.3 声明切入点 348
18.2.4 声明通知 348
18.3 使用注解对数据访问层进行管理 349
18.4 切入点 351
18.4.1 切入点指定者 352
18.4.2 合并连接点 352
18.4.3 切入点表达式 352
18.5 通知 353
18.5.1 返回后通知 353
18.5.2 出错后通知 354
18.5.3 后通知 355
18.5.4 环绕通知 355
18.6 在Spring中进行JDBC编程 355
18.6.1 Spring中的数据库封装操作类和数据源接口 355
18.6.2 创建数据库表操作 356
18.6.3 更新数据库操作 358
18.6.4 查询数据库操作 359
18.7 小结 360
18.8 本章习题 361
S2SH整合篇
第19章 框架技术整合开发 364
19.1 Struts 2和Hibernate框架的整合开发 364
19.1.1 整合策略 364
19.1.2 数据库层开发 365
19.1.3 持久层开发 365
19.1.4 数据访问层开发 366
19.1.5 业务逻辑层开发 368
19.1.6 完成书籍的录入 369
19.1.7 完成所有图书的显示 372
19.2 Struts 2和Spring整合开发 373
19.2.1 整合策略 374
19.2.2 安装Spring插件完成整合 374
19.2.3 装配数据访问层 375
19.2.4 装配业务逻辑层 376
19.2.5 装配业务控制器 376
19.3 Hibernate和Spring整合开发 377
19.3.1 使用Spring管理数据源 377
19.3.2 使用Spring管理SessionFactory 378
19.3.3 使用HibernateTemplate类 378
19.3.4 使用HibernateDaoSupport类 379
19.3.5 使用Spring管理事务管理器 380
19.3.6 为业务逻辑层注入事务管理器 380
19.3.7 使用TransactionTemplate进行事务管理 381
19.4 小结 381