标题：21天学通Java Web开发（第2版）
基本信息
作者：卜炟  
丛书名：21天学编程系列
出版社：电子工业出版社 
ISBN：9787121124754
上架时间：2011-7-8 
出版日期：2011 年7月
开本：16开
页码：411
版次：2-1
内容简介
21天学通java web开发（第2版）(含dvd光盘1张)》是java web开发的基础教程，针对没有接触过或还不是特别熟悉java web开发的读者，详细介绍了java web开发的基础概念及技术要点。全书分为六篇共21章内容，第一篇为java web基础篇，介绍了执行环境和开发环境的搭建及jsp的语法基础。第二篇为jsp 2.0开发篇，介绍了jsp指令元素、jsp动作元素、jsp内置对象、jsp和javabean等内容。第三篇为servlet开发篇，介绍了servlet的基础知识及servlet监听器，以及过滤器的开发等内容。第四篇为使用设计模式篇，介绍了dao和mvc这两个经典设计模式。第五篇为框架技术篇，介绍了struts 2、hibernate、spring这三个目前非常流行的轻量级java web开发框架。第六篇为项目实战篇，通过整合前面的三个框架，开发一套用户管理系统。
《21天学通java web开发（第2版）(含dvd光盘1张)》适合java web开发技术的初学者，也可作为大、中院校学生和培训班的教材。对于有一定java web开发技术基础，但还需要进一步学习的人员，本书也有较大的参考价值。
本书附赠dvd光盘1张，内容包括超大容量手把手教学视频、电子教案（ppt）、源代码、职场面试法宝等。 
目录
《21天学通java web开发（第2版）(含dvd光盘1张)》 
第一篇 java web基础篇 
第1章 搭建开发环境 21 
1.1 下载并安装jdk 21 
1.1.1 下载jdk 21 
1.1.2 安装jdk 23 
1.1.3 配置环境变量 24 
1.1.4 一个简单的java程序 25 
1.2 下载并安装tomcat 26 
1.2.1 下载tomcat 26 
1.2.2 安装tomcat 26 
1.2.3 配置虚拟目录 28 
1.2.4 一个简单的jsp程序 28 
1.3 下载并安装eclipse 29 
1.3.1 下载eclipse 29 
1.3.2 安装eclipse 29 
1.4 下载并安装myeclipse 30 
1.4.1 下载myeclipse 30 
1.4.2 安装myeclipse 30 
1.5 使用myeclipse进行web开发 31 
.1.5.1 使用myeclipse新建web项目 31 
1.5.2 myeclipse中新建jsp页面 32 
1.5.3 myeclipse整合tomcat 33 
1.5.4 myeclipse部署项目 35 
1.6 小结 36 
第2章 jsp的基础语法 37 
2.1 jsp简介 37 
2.2 jsp运行机制 38 
2.3 jsp脚本元素 40 
2.3.1 jsp声明语句 40 
2.3.2 jsp scriptlets 40 
2.3.3 jsp表达式 41 
2.4 注释 42 
2.5 综合练习 44 
2.6 小结 45 
2.7 习题 45 
第二篇 jsp 2.0开发篇 
第3章 jsp指令元素 47 
3.1 page指令 47 
3.1.1 language属性 47 
3.1.2 extends属性 48 
3.1.3 import属性 48 
3.1.4 session属性 49 
3.1.5 buffer属性 49 
3.1.6 autoflush属性 49 
3.1.7 isthreadsafe属性 50 
3.1.8 info属性 50 
3.1.9 errorpage属性 50 
3.1.10 iserrorpage属性 51 
3.1.11 contenttype属性 51 
3.1.12 pageencoding属性 52 
3.1.13 iselignored属性 52 
3.2 include指令 52 
3.2.1 包含文本文件 53 
3.2.2 包含html文件 55 
3.2.3 包含jsp文件 56 
3.3 taglib指令 56 
3.4 综合练习 57 
3.5 小结 59 
3.6 习题 59 
第4章 jsp动作元素 60 
4.1 jsp动作元素分类 60 
4.2 <jsp:include>动作元素 60 
4.2.1 使用<jsp:include>动作元素包含静态的文件 61 
4.2.2 使用<jsp:include>动作元素包含动态的文件 61 
4.2.3 <jsp:include>和<%@ include%>的区别 62 
4.3 <jsp:forward>动作元素 64 
4.3.1 使用<jsp: forward >动作元素实现页面跳转 64 
4.3.2 跳转执行流程 65 
4.4 <jsp:param>动作元素 66 
4.4.1 <jsp:include>动作元素搭配<jsp:param>动作元素 66 
4.4.2 <jsp:forward>动作元素搭配<jsp:param>动作元素 68 
4.5 <jsp:plugin>、<jsp:params>和<jsp:fallback> 70 
4.5.1 <jsp:plugin>动作元素 71 
4.5.2 <jsp:params>动作元素 72 
4.5.3 <jsp:fallback>动作元素 73 
4.6 综合练习 74 
4.7 小结 75 
4.8 习题 75 
第5章 jsp内置对象 77 
5.1 jsp内置对象分类 77 
5.2 属性保存范围 78 
5.2.1 page范围 78 
5.2.2 request范围 79 
5.2.3 session范围 81 
5.2.4 application范围 83 
5.2.5 移除属性 84 
5.3 request对象 85 
5.3.1 获得客户端请求参数 85 
5.3.2 获得所有的参数名称 87 
5.3.3 获得参数的所有参数值 89 
5.3.4 获得封装所有参数值的map 90 
5.3.5 request对象的其他方法 91 
5.4 response对象 92 
5.4.1 实现页面跳转 92 
5.4.2 实现页面自动刷新 93 
5.4.3 实现页面自动跳转 94 
5.5 out对象 94 
5.5.1 使用out对象进行页面输出 95 
5.5.2 使用out对象求得缓冲区使用大小 96 
5.6 session对象 96 
5.6.1 设置并获得session生命周期 97 
5.6.2 获得session的其他信息 97 
5.7 application对象 98 
5.7.1 通过application对象获得服务器版本 99 
5.7.2 通过application对象获得其他信息 100 
5.8 pagecontext对象 100 
5.9 page对象 102 
5.10 config对象 103 
5.11 exception对象 103 
5.12 综合练习 104 
5.13 小结 106 
5.14 习题 107 
第6章 数据库操作 108 
6.1 下载并安装mysql 108 
6.1.1 下载mysql 108 
6.1.2 安装mysql 109 
6.2 jdbc驱动程序 109 
6.2.1 下载并安装mysql的jdbc驱动程序 109 
6.2.2 加载jdbc驱动程序 110 
6.3 jdbc连接mysql数据库 111 
6.3.1 创建数据库和数据表 111 
6.3.2 连接mysql数据库 112 
6.4 语句对象statement 113 
6.4.1 添加记录 114 
6.4.2 更新记录 115 
6.4.3 删除记录 116 
6.5 resultset结果集 117 
6.5.1 获得所有记录 117 
6.5.2 获得指定字段记录 119 
6.5.3 获得指定起始位置和条数的记录 120 
6.6 数据库的关闭操作 121 
6.7 预处理语句对象preparedstatement 123 
6.7.1 添加记录 123 
6.7.2 更新记录 124 
6.7.3 删除记录 126 
6.7.4 获得指定记录 127 
6.8 综合练习 129 
6.9 小结 131 
6.10 习题 131 
第7章 jsp和javabean 133 
7.1 javabean简单使用 133 
7.1.1 javabean简介 133 
7.1.2 定义javabean 133 
7.1.3 在jsp中调用javabean 134 
7.2 设置javabean属性 135 
7.2.1 根据所有参数设置javabean属性 135 
7.2.2 根据指定参数设置javabean属性 137 
7.2.3 根据指定参数设置指定javabean属性 138 
7.2.4 设置指定javabean属性为指定值 140 
7.3 获得javabean属性 141 
7.4 设置javabean的范围 142 
7.4.1 设置page范围的javabean 142 
7.4.2 设置request范围的javabean 143 
7.4.3 设置session范围的javabean 144 
7.4.4 设置application范围的javabean 146 
7.5 移除javabean 147 
7.6 综合练习 148 
7.7 小结 150 
7.8 习题 150 
第8章 el表达式 152 
8.1 el运算符 152 
8.1.1 算术运算符 152 
8.1.2 关系运算符 153 
8.1.3 逻辑运算符 154 
8.1.4 条件运算符 156 
8.1.5 验证运算符 157 
8.1.6 括号运算符及运算符的优先级 158 
8.2 el内置对象 159 
8.2.1 .与[ ]运算符 159 
8.2.2 与存储有关的内置对象 160 
8.2.3 与输入有关的内置对象 161 
8.2.4 cookie内置对象 162 
8.2.5 header内置对象 164 
8.2.6 initparam内置对象 164 
8.2.7 pagecontext内置对象 165 
8.3 el存取器 166 
8.3.1 使用存取器读取javabean中的数据 166 
8.3.2 使用存取器读取map中的数据 169 
8.3.3 使用存取器读取数组中的数据 170 
8.3.4 存取器复杂应用 171 
8.4 综合练习 172 
8.5 小结 174 
8.6 习题 174 
第9章 jstl标签库 176 
9.1 jstl核心标签 176 
9.1.1 <c:set>标签 176 
9.1.2 <c:out>标签 176 
9.1.3 <c:remove>标签 177 
9.1.4 <c:if>标签 178 
9.1.5 <c:choose>、<c:when>、<c:otherwise>标签 178 
9.1.6 <c:foreach>标签 179 
9.1.7 <c:fortokens>标签 179 
9.1.8 <c:import>标签 180 
9.1.9 <c:param>标签 180 
9.1.10 <c:url>标签 181 
9.1.11 <c:redirect>标签 181 
9.2 数据库标签库 181 
9.2.1 <sql:setdatasource>标签 182 
9.2.2 <sql:update>标签 182 
9.2.3 <sql:query>标签 183 
9.2.4 <sql:param>和<sql:dateparam>标签 185 
9.2.5 <sql:transaction >标签 186 
9.3 i18n格式化标签库 187 
9.3.1 <fmt: formatnumber>标签 187 
9.3.2 <fmt: parsenumber>标签 189 
9.3.3 <fmt: formatdate>标签 189 
9.3.4 <fmt: parsedate>标签 190 
9.3.5 <fmt: settimezone>标签 190 
9.3.6 <fmt: timezone>标签 191 
9.3.7 <fmt: setlocale>标签 191 
9.3.8 <fmt: requestencoding>标签 192 
9.3.9 <fmt: setbundle>标签 192 
9.3.10 <fmt: message>标签 192 
9.3.11 <fmt: param> 193 
9.3.12 <fmt: bundle> 193 
9.4 xml标签库 193 
9.4.1 下载并安装进行xml操作必需的jar文件 193 
9.4.2 <x:parse>标签 194 
9.4.3 <x:out>标签 195 
9.4.4 <x:set>标签 196 
9.4.5 <x:if>标签 196 
9.4.6 <x:choose>标签 197 
9.4.7 <x:foreach>标签 198 
9.5 综合练习 198 
9.6 小结 199 
9.7 习题 199 
第三篇 servlet开发篇 
第10章 servlet开发基础 201 
10.1 servlet基础 201 
10.1.1 servlet简介 201 
10.1.2 第一个servlet程序 201 
10.1.3 servlet生命周期 202 
10.2 httpservlet常用方法 203 
10.2.1 doget方法 203 
10.2.2 dopost方法 205 
10.2.3 service方法 207 
10.3 servlet常用接口 208 
10.3.1 httpservletrequest接口 208 
10.3.2 httpservletresponse接口 210 
10.3.3 httpsession接口 211 
10.3.4 servletcontext接口 213 
10.4 综合练习 215 
10.5 小结 216 
10.6 习题 216 
第11章 filter开发 218 
11.1 filter基础 218 
11.1.1 filter简介 218 
11.1.2 第一个filter程序 218 
11.1.3 filter生命周期 220 
11.2 常用filter 221 
11.2.1 非法文字过滤器 221 
11.2.2 字符编码过滤器 223 
11.2.3 登录验证过滤器 225 
11.3 综合练习 228 
11.4 小结 229 
11.5 习题 229 
第12章 listener开发 231 
12.1 listener简介 231 
12.2 servletcontext listener 231 
12.2.1 servletcontextlistener接口 231 
12.2.2 servletcontextattributelistener接口 232 
12.3 httpsession listener 234 
12.3.1 httpsessionlistener接口 234 
12.3.2 httpsessionattributelistener接口 235 
12.4 综合练习 237 
12.5 小结 240 
12.6 习题 240 
第四篇 使用设计模式篇 
第13章 dao设计模式 241 
13.1 dao简介 241 
13.2 dao各部分详解 241 
13.2.1 数据库连接类 241 
13.2.2 vo类 242 
13.2.3 dao接口 243 
13.2.4 dao实现类 244 
13.2.5 dao工厂类 246 
13.3 使用dao完成数据库操作 247 
13.3.1 添加记录 247 
13.3.2 更新记录 248 
13.3.3 删除记录 249 
13.3.4 按id查询记录 249 
13.4 综合练习 250 
13.5 小结 251 
13.6 习题 251 
第14章 mvc设计模式 253 
14.1 mvc简介 253 
14.2 model 1和model 2 254 
14.3 使用mvc模式改进用户登录案例 255 
14.3.1 用户登录页面 255 
14.3.2 用户登录成功和失败页面 256 
14.3.3 业务逻辑组件 257 
14.3.4 servlet控制器 258 
14.4 综合练习 259 
14.5 小结 261 
14.6 习题 261 
第五篇 框架技术篇 
第15章 struts 2基础 262 
15.1 struts 2简介 262 
15.2 struts 2框架的下载和安装 263 
15.2.1 下载struts 2框架 263 
15.2.2 安装struts 2框架 264 
15.3 基于struts 2框架实现登录案例 265 
15.3.1 准备工作 265 
15.3.2 新建控制类action 265 
15.3.3 配置action 266 
15.3.4 程序执行流程 267 
15.4 改进控制器 268 
15.4.1 实现action接口 268 
15.4.2 配置action 269 
15.5 完成输入校验 270 
15.5.1 使用struts 2标签库简化表单 270 
15.5.2 继承actionsupport完成输入校验 271 
15.6 程序国际化 274 
15.6.1 输出中文的校验错误信息 274 
15.6.2 国际化资源文件 275 
15.6.3 加载资源文件 276 
15.6.4 输出国际化信息 277 
15.6.5 输出国际化的校验错误信息 278 
15.7 综合练习 279 
15.8 小结 280 
15.9 习题 281 
第16章 struts 2高级应用 283 
16.1 struts 2内建的类型转换器 283 
16.1.1 内建转换器介绍 283 
16.1.2 基本数据类型转换器 283 
16.1.3 基本数据类型的封装类转换器 287 
16.1.4 数组类型转换器 289 
16.1.5 集合类型转换器 291 
16.2 服务器端校验 292 
16.2.1 服务器端校验的重要性 292 
16.2.2 完成服务器端输入校验 293 
16.2.3 使页面保留提交信息 297 
16.2.4 使用addfielderror来添加错误信息 299 
16.2.5 输入校验与类型转换关系 302 
16.3 使用校验框架完成输入校验 303 
16.3.1 完成输入校验 303 
16.3.2 增加客户端校验 308 
16.3.3 国际化提示信息 310 
16.3.4 客户端校验与国际化问题 312 
16.3.5 校验短路 315 
16.3.6 校验规则文件搜索规则 317 
16.4 综合练习 318 
16.5 小结 318 
16.6 习题 318 
第17章 持久化框架hibernate 320 
17.1 初涉hibernate 320 
17.1.1 orm简介 320 
17.1.2 hibernate框架的优势 321 
17.1.3 下载和安装hibernate 321 
17.1.4 hibernate架构概述 321 
17.2 hibernate的配置和相关类 323 
17.2.1 configuration类 323 
17.2.2 hibernate配置文件 323 
17.2.3 sessionfactory类 324 
17.3 hibernate中的对象 324 
17.3.1 对象在hibernate中的状态 325 
17.3.2 持久化类 326 
17.3.3 对象识别 327 
17.4 hibernate开发 328 
17.4.1 创建hibernate配置文件 328 
17.4.2 创建持久化类 329 
17.4.3 创建对象关系映射文件 329 
17.4.4 创建数据库表 330 
17.4.5 插入数据 331 
17.4.6 更新数据 332 
17.4.7 删除数据 333 
17.4.8 查询数据 335 
17.4.9 使用hibernate工具类 337 
17.5 综合练习 338 
17.6 小结 338 
17.7 习题 338 
第18章 struts 2整合hibernate开发 340 
18.1 struts 2和hibernate的整合策略 340 
18.2 持久层设计 341 
18.2.1 dao接口 341 
18.2.2 dao实现类 341 
18.2.3 dao工厂类 343 
18.3 业务逻辑组件 343 
18.3.1 业务逻辑组件接口 344 
18.3.2 业务逻辑组件实现类 344 
18.3.3 业务逻辑组件工厂类 345 
18.4 整合应用 346 
18.4.1 查询所有产品 346 
18.4.2 添加产品 348 
18.4.3 删除产品 349 
18.4.4 更新产品 351 
18.5 小结 353 
18.6 习题 353 
第19章 spring开发 354 
19.1 初探spring 354 
19.1.1 spring简介 354 
19.1.2 下载和安装spring 355 
19.1.3 spring的ioc应用 356 
19.2 spring的依赖注入 359 
19.2.1 通过set方法注入依赖 359 
19.2.2 引用其他的bean 361 
19.2.3 使用构造函数注入依赖 363 
19.3 spring的自动装配 365 
19.3.1 自动装配分类 365 
19.3.2 byname自动装配 365 
19.3.3 bytype自动装配 366 
19.3.4 constructor自动装配 366 
19.4 spring核心理论：面向切面编程介绍 367 
19.4.1 面向切面编程基础知识 367 
19.4.2 在spring中创建前置通知 368 
19.4.3 在spring中创建后置通知 370 
19.4.4 在spring中创建拦截通知 372 
19.4.5 在spring中创建异常通知 374 
19.4.6 使用spring静态切入点 376 
19.5 综合练习 376 
19.6 小结 378 
19.7 习题 378 
第20章 struts 2整合spring开发 380 
20.1 安装spring插件完成整合 380 
20.2 整合策略 380 
20.3 整合spring完成登录案例 382 
20.3.1 修改控制器action及配置 382 
20.3.2 依赖注入业务逻辑组件 383 
20.4 整合spring完成产品管理案例 383 
20.4.1 使用spring容器管理sessionfactory 383 
20.4.2 使用hibernatetemplate进行数据库操作 384 
20.4.3 依赖注入dao组件 385 
20.4.4 依赖注入业务逻辑组件 386 
20.4.5 完成action配置 389 
20.5 小结 389 
20.6 习题 390 
第六篇 项目实战篇 
第21章 ssh整合开发用户 管理系统 391 
21.1 系统分析 391 
21.1.1 应用背景及系统功能介绍 391 
21.1.2 系统结构 391 
21.1.3 系统功能模块 392 
21.2 hibernate持久层设计 392 
21.2.1 创建持久化po类 392 
21.2.2 创建映射文件 393 
21.3 dao层设计 394 
21.3.1 spring管理sessionfactory 394 
21.3.2 创建dao接口 395 
21.3.3 创建dao实现类 395 
21.3.4 配置dao组件 396 
21.4 业务逻辑层设计 396 
21.4.1 创建业务逻辑组件接口 396 
21.4.2 创建业务逻辑组件实现类 396 
21.4.3 配置业务逻辑组件 397 
21.5 完成查看所有用户信息模块 398 
21.5.1 整合struts 2和spring 398 
21.5.2 创建查看全部用户信息控制器 398 
21.5.3 创建全部用户信息显示页 399 
21.5.4 配置查看全部用户信息控制器 399 
21.5.5 测试查看所有用户信息 400 
21.6 完成查看用户详细信息模块 400 
21.6.1 创建查看用户详细信息控制器 400 
21.6.2 创建查看用户详细信息显示页 401 
21.6.3 配置用户详细信息控制器 402 
21.6.4 测试查看用户详细信息 402 
21.7 完成添加用户模块 402 
21.7.1 创建用户添加页 402 
21.7.2 创建用户添加控制器 403 
21.7.3 配置用户添加控制器 404 
21.7.4 创建校验规则文件 404 
21.7.5 测试添加用户 405 
21.8 完成删除用户模块 407 
21.8.1 创建用户删除控制器 407 
21.8.2 配置用户删除控制器 407 
21.8.3 测试删除用户 408 
21.9 完成更新用户模块 408 
21.9.1 创建用户更新页 408 
21.9.2 创建用户更新控制器 409 
21.9.3 配置用户更新控制器 410 
21.9.4 创建校验规则文件 410 
21.9.5 测试更新用户 410 
21.10 小结 411