第1章 构建动态Web页面 1
例程1-1:利用Servlet显示动态日期 1
解决方案 1
讨论与思考 3
知识点索引 3
例程1-2:利用JSP表达式显示动态格式文本 3
解决方案 3
讨论与思考 5
知识点索引 5
例程1-3:利用JSP标准标记库和表达式语言显示动态新闻 5
解决方案 5
讨论与思考 8
知识点索引 9
例程1-4:利用自定义标记控制网页图片显示 9
解决方案 9
讨论与思考 15
知识点索引 16
例程1-5:利用Applet在Web页面实现动画时钟 17
解决方案 17
讨论与思考 28
知识点索引 28
例程1-6:利用JSP与Flash实现用户登录和注册模块 28
解决方案 29
讨论与思考 37
知识点索引 38
例程1-7:利用JavaScript脚本实现奥运倒计时日历 38
解决方案 38
讨论与思考 42
知识点索引 43
例程1-8:利用XML、CSS和XSL显示食谱信息 43
解决方案1:利用CSS显示食谱XML文件的内容 43
解决方案2:利用XSL显示食谱XML文件的内容 45
解决方案3:利用xalan动态绑定XML和XSL 47
讨论与思考 48
知识点索引 49
例程1-9:利用标准标记库显示本地化信息 49
解决方案 49
讨论与思考 51
知识点索引 51
例程1-10:在Web页面中引入版权信息声明 51
解决方案1:使用include指令在JSP中包含版权信息 51
解决方案2:使用动作组件在JSP中包含版权信息 53
解决方案3:使用标准标记〈c:import〉在JSP中包含版权信息 54
解决方案4:在Servlet响应中包含版权信息 56
讨论与思考 57
知识点索引 58
例程1-11:实现带图形验证码的用户登录 58
解决方案 58
讨论与思考 62
知识点索引 62
例程1-12:利用Ajax实现网上智能订餐 62
解决方案 62
讨论与思考 71
知识点索引 73
本章小结 73
第2章 服务器与客户端的交互 74
例程2-1:奥运网上问卷调查 74
解决方案 74
讨论与思考 78
知识点索引 78
例程2-2:发送PDF文件到客户端浏览器 79
解决方案 79
讨论与思考 82
知识点索引 82
例程2-3:客户信息显示栏 82
解决方案 82
讨论与思考 83
知识点索引 84
例程2-4:获取服务器基本信息 84
解决方案 84
讨论与思考 86
知识点索引 86
例程2-5:横幅广告系统 86
解决方案 87
讨论与思考 97
知识点索引 98
例程2-6:利用过滤器限制客户端访问 98
解决方案 98
讨论与思考 103
知识点索引 103
例程2-7:多组件协作实现用户登录验证 103
解决方案 104
讨论与思考 108
知识点索引 108
本章小结 108
第3章 管理和维护应用程序状态 110
例程3-1:购物车 110
解决方案1:利用隐藏字段实现购物车 111
解决方案2:利用URL重写实现购物车 115
解决方案3:利用Cookie实现购物车 119
解决方案4:利用Session实现购物车 123
讨论与思考 127
知识点索引 128
例程3-2:聊天室 128
解决方案 128
讨论与思考 143
知识点索引 144
例程3-3:网站计数器 145
解决方案 145
讨论与思考 149
知识点索引 149
本章小结 150
第4章 访问企业信息资源 151
例程4-1:发送接收E-mail 151
解决方案 151
讨论与分析 159
知识点索引 159
例程4-2:访问数据库 159
解决方案1:直接使用JDBC驱动访问数据库 159
解决方案2:利用JDBC-ODBC桥访问数据库 162
解决方案3:利用数据源和连接池技术访问数据库 165
讨论与思考 170
知识点索引 171
例程4-3:创建基于XML的网上论坛 171
解决方案 171
讨论与思考 191
知识点索引 192
例程4-4:访问体重检测Web服务 192
解决方案 192
讨论与思考 200
知识点索引 202
本章小结 202
第5章 开发Web高级功能特性 203
例程5-1:在Web页面显示统计图表 203
解决方案1:使用Applet显示统计图表 203
解决方案2:服务器端的图表解决方案 209
讨论与思考 214
知识点索引 214
例程5-2:为Web应用添加打印功能 215
解决方案1:利用iText组件打印Web表格 215
解决方案2:利用JavaScript脚本打印Web报表 218
讨论与思考 224
知识点索引 225
例程5-3:创建国际化的Web应用 225
解决方案1:为不同地区创建单独的页面资源 225
解决方案2:利用标准标记库自动绑定地区属性资源 229
讨论与思考 233
知识点索引 234
例程5-4:在Web应用中实现文件上传 234
解决方案1:利用流操作实现文件上传 234
解决方案2:利用jspSmartUpload组件实现上传 238
解决方案3:利用common-upload组件实现上传 241
讨论与思考 248
知识点索引 248
例程5-5:在Web应用中控制文件下载 248
解决方案1:利用文件流操作实现文件下载 249
解决方案2:利用RequestDispatcher实现文件下载 254
讨论与思考 255
知识点索引 256
例程5-6:为Web应用添加日志功能 256
解决方案1:利用服务器自身的日志功能 256
解决方案2:利用log4j实现日志功能 257
知识点链接 257
讨论与思考 260
知识点索引 261
本章小结 261
第6章 应用架构 262
预备知识:软件架构基础 262
例程6-1:利用EJB实现公告发布系统 263
解决方案 263
讨论与思考 275
知识点索引 276
例程6-2:基于Struts构建新闻发布系统 276
解决方案 277
讨论与思考 289
知识点索引 289
例程6-3:基于Struts、Spring和Hibernate构建学生信息管理系统 290
解决方案 290
讨论与思考 303
知识点索引 303
本章小结 303
附录A 开发环境的搭建 306
附录B 知识点索引 311
参考文献 314