《Java Web开发典型模块大全》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:王国辉,王毅,王殊宇编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115195975
  • 页数:752 页
图书介绍:本书以关键技术为核心,通过21个典型模块系统、全面地介绍了如何使用JSP进行各领域的程序开发。全书共分为23章,其中第一章介绍了如何搭建Java Web开发环境,以及进行Java Web开发时使用的开发工具,使初学者能够熟练掌握Java Web开发环境和Eclipse开发工具的下载、安装与使用;然后通过对图文验证码模块、注册及登录验证模块、投票统计模块、文件上传与下载模块、自助建站模块、留言本模块、聊天室、搜索引擎模块、RSS模块、备忘录模块、购物车模块、在线支付模块、报表打印模块、数据维护模块、许愿墙模块、电子邮件模块、网络相册模块、播客、在线音乐模块、博客和论坛模块等21个模块进行细致的介绍,使读者能够掌握文件、图形、多媒体、数据库、统计报表打印、电子商务和网络通信等各领域的相关技术,为从事项目开发的人员提供相关解决方案;最后一章首先对程序调试时常见错误进行了详细的分析,并给出解决的方法,然后再介绍如何将网站发布到个人服务器或是FTP服务器上,使读者可以快速解决程序开发中遇到的问题,并能很好的将开发后的网站发布到Internet上。

第1章 构建开发环境 1

1.1 JDK的安装与配置 2

1.1.1 下载JDK 2

1.1.2 JDK的安装 5

1.1.3 配置和测试JDK 6

1.2 Tomcat的下载、安装与配置 8

1.2.1 下载Tomcat 8

1.2.2 安装Tomcat 9

1.2.3 Tomcat的目录结构 11

1.2.4 修改Tomcat的默认端口 12

1.2.5 部署Web应用 12

1.3 Eclipse的安装与使用 13

1.3.1 Eclipse的下载与安装 13

1.3.2 启动Eclipse 15

1.3.3 安装Eclipse中文语言包 15

1.3.4 使用Eclipse开发Web应用 19

1.3.5 Eclipse的常用快捷键 24

1.4 安装SQL Server 2000数据库及SP4补丁 26

1.4.1 安装SQL Server 2000数据库 26

1.4.2 安装SQL Server 2000的SP4补丁 27

1.4.3 查看1433端口是否被激活 28

第2章 图文验证码模块 29

2.1 概述 30

2.1.1 验证码的作用 30

2.1.2 图文验证码的原理 30

2.1.3 比较常见的几种验证码 30

2.2 关键技术 31

2.2.1 生成随机数技术 31

2.2.2 随机生成汉字 31

2.2.3 Ajax重构 33

2.2.4 图片缩放和旋转 35

2.2.5 随机绘制干扰线(折线) 35

2.2.6 MD5加密技术 36

2.3 英文、数字和中文混合的彩色验证码 36

2.3.1 功能描述 36

2.3.2 系统流程图 37

2.3.3 编写生成英文、数字和中文混合的彩色验证码的Servlet实现类 37

2.3.4 配置Servlet 40

2.3.5 在JSP页面中插入生成的验证码 40

2.3.6 加入重新生成验证码功能 40

2.3.7 获取验证码并验证输入是否正确 41

2.3.8 程序调试 41

2.4 Ajax实现无刷新的彩色验证码 41

2.4.1 功能描述 41

2.4.2 系统流程图 42

2.4.3 编写生成彩色验证码的Servlet实现类 43

2.4.4 在页面中插入验证码显示框 44

2.4.5 实现单击验证码输入框时生成并显示验证码图片 45

2.4.6 实现无刷新检测验证码 45

2.4.7 程序调试 46

2.5 加密的验证码 47

2.5.1 功能描述 47

2.5.2 系统流程图 47

2.5.3 编写Servlet生成验证码并对其进行MD5加密 48

2.5.4 实现在页面中插入验证码功能 49

2.5.5 实现对输入的验证码进行加密后验证其是否正确 49

2.6 程序发布 49

第3章 注册与登录验证模块 51

3.1 概述 52

3.1.1 注册与登录在网站中的作用 52

3.1.2 用户注册涉及的表单 52

3.1.3 比较常见的几种注册与登录的形式 52

3.2 关键技术 54

3.2.1 通过JavaScript校验表单信息 54

3.2.2 防SQL注入技术 57

3.2.3 通过保密邮箱获取密码 58

3.2.4 Struts表单验证机制 58

3.2.5 Struts2表单验证两种形式 61

3.3 安全注册与登录 62

3.3.1 功能描述 62

3.3.2 系统流程图 64

3.3.3 数据库设计 65

3.3.4 公共类的编写 65

3.3.5 定义用户信息的Form实现类 69

3.3.6 安全注册与登录的Servlet实现类 70

3.3.7 Servlet实现类在web.xml的配置 70

3.3.8 用户安全注册 70

3.3.9 用户安全登录 75

3.3.10 用户找回密码 78

3.4 动态校验用户注册的表单 84

3.4.1 功能描述 84

3.4.2 系统流程图 85

3.4.3 数据库设计 85

3.4.4 配置Struts框架 86

3.4.5 字符串自动处理类 86

3.4.6 定义用户信息的ActionForm实现类 87

3.4.7 创建用户信息的Action实现类 88

3.4.8 业务处理转发类 90

3.4.9 用户注册 90

3.4.10 用户登录 99

3.5 防止重复用户登录 102

3.5.1 功能描述 102

3.5.2 系统流程图 103

3.5.3 数据库设计 104

3.5.4 配置Strus2框架 104

3.5.5 公共模块的编写 106

3.5.6 定义用户信息的Form实现类 109

3.5.7 设计用户登录页面 109

3.5.8 创建用户登录的Action实现类 110

3.5.9 校验账号是否正确 111

3.5.10 校验密码是否正确 112

3.5.11 校验用户登录表单 112

3.6 错误分析与处理 114

3.6.1 处理JavaBean的残缺问题 114

3.6.2 处理未找到ActionForm的问题 115

第4章 投票统计模块 117

4.1 概述 118

4.1.1 功能描述 118

4.1.2 系统流程 118

4.1.3 主界面预览 118

4.2 关键技术 119

4.2.1 使用JFreeChart插件绘制统计图技术 119

4.2.2 双击鼠标展开图片技术 122

4.2.3 判断IP所属地区技术 123

4.3 数据库设计 124

4.4 公共模块设计 124

4.4.1 数据库操作类的设计与实现 124

4.4.2 投票过滤器类的设计与实现 127

4.5 实现投票功能 128

4.6 实现柱形图统计功能 129

4.7 实现饼形图统计功能 132

第5章 文件上传与下载模块 135

5.1 概述 136

5.2 关键技术 136

5.2.1 jspSmartUpload组件的安装与配置 136

5.2.2 jspSmartUpload组件中的主要类 137

5.2.3 输入流、输出流的介绍 141

5.2.4 文件类介绍 142

5.2.5 文件字节输入流的介绍 143

5.2.6 文件字节输出流的介绍 143

5.2.7 了解文件表单中存储上传文件内容的格式 144

5.2.8 从字节数组中截取要获取的内容 145

5.2.9 本章自定义组件jspYxqFile XLoad的介绍 148

5.2.10 文件下载对话框 149

5.3 应用jspSmartUpload组件实现上传与下载 150

5.3.1 功能描述 150

5.3.2 系统流程图 151

5.3.3 数据库设计 151

5.3.4 公共模块设计 152

5.3.5 实现文件上传 153

5.3.6 实现文件下载 155

5.4 应用I/O流自行实现上传与下载 156

5.4.1 创建File类 157

5.4.2 创建Parameters类 158

5.4.3 创建FileXLoad类 159

5.4.4 使用自定义组件 163

第6章 自助建站模块 165

6.1 概述 166

6.1.1 功能描述 166

6.1.2 系统流程 166

6.1.3 主界面预览 166

6.2 关键技术 167

6.2.1 读取模板生成静态页面 167

6.2.2 JSP网页抓取生成静态页面 169

6.2.3 <iframe>属性设置 171

6.2.4 RequestDispatcher对象的获取方式 171

6.2.5 网站结构优化 172

6.3 数据库设计 173

6.4 公共模块设计 175

6.4.1 利用Servlet监听器处理网页中的乱码 175

6.4.2 对文件操作类的编写 176

6.4.3 其他公共类 178

6.5 自助建站的模板设置 178

6.5.1 新闻模板设计 178

6.5.2 文章模板设计 179

6.5.3 博客模板设计 179

6.6 自助建站所涉及的Form实现类 180

6.6.1 用户操作Form实现类 180

6.6.2 模板信息Form实现类 181

6.6.3 网站信息Form实现类 181

6.6.4 文章类别Form实现类 181

6.6.5 文章信息Form实现类 182

6.7 用户操作的Servlet配置 182

6.7.1 用户模块的Servlet实现类 182

6.7.2 配置web.xml文件 183

6.8 用户管理模块设计 183

6.8.1 用户注册 183

6.8.2 用户登录 186

6.8.3 用户安全退出 187

6.9 网站内容的Servlet配置 188

6.9.1 网站内容的Servlet实现类 188

6.9.2 配置web.xml文件 188

6.10 网站内容管理 189

6.10.1 网站信息管理 189

6.10.2 文章类别管理 192

6.10.3 文章信息管理 195

6.11 自动生成静态网站Servlet配置 197

6.11.1 生成静态网站的Servlet实现类 197

6.11.2 配置web.xml文件 198

6.12 自动生成静态网站页面 198

6.12.1 模板切割布局 198

6.12.2 生成网站超链接设置 199

6.12.3 对网站所需要样式与图片的操作 199

6.12.4 文章详细内容静态页的操作 200

6.12.5 网站左侧或右侧静态页的操作 201

6.12.6 网站首页的操作 203

6.12.7 按类别查询文章静态页的操作 203

6.12.8 网站头部静态页的操作 205

6.12.9 转发到网站生成的结果页 206

6.13 疑难问题与分析 206

第7章 留言本模块 209

7.1 概述 210

7.1.1 留言本的作用 210

7.1.2 留言本系统流程 210

7.2 关键技术 210

7.2.1 Servlet技术 210

7.2.2 编写web.xml 212

7.2.3 XML技术 212

7.2.4 使用JSTL标签 213

7.3 应用数据库实现留言本 214

7.3.1 功能描述 214

7.3.2 系统流程 215

7.3.3 数据库设计 216

7.3.4 公共类编写 217

7.3.5 映射数据表JavaBean的编写 220

7.3.6 实现用户登录 221

7.3.7 实现发表留言 222

7.3.8 实现修改留言信息 224

7.3.9 实现删除留言信息 227

7.4 应用XML技术实现留言本 228

7.4.1 功能描述 228

7.4.2 实现读取XML文件中信息 229

7.4.3 实现向XML文件中写数据 230

7.4.4 实现从XML文件中删除数据 231

第8章 聊天室模块 233

8.1 概述 234

8.1.1 功能描述 234

8.1.2 系统流程 234

8.1.3 主界面预览 234

8.2 关键技术 235

8.2.1 监控用户在线状态 235

8.2.2 通过快捷键发送聊天信息 236

8.2.3 实现私聊 237

8.2.4 滚屏显示 238

8.2.5 踢出长时间不发言的用户 239

8.3 公共类设计 240

8.3.1 编写字符串处理的JavaBean 240

8.3.2 编写聊天室相关的Servlet实现类 240

8.3.3 系统配置 241

8.4 用户登录模块 241

8.5 聊天室主体功能模块 243

8.5.1 设计聊天室主页面 243

8.5.2 实时获取并显示在线人员列表 244

8.5.3 实现用户发言 245

8.5.4 实时显示聊天内容 248

8.6 退出聊天室模块 250

8.6.1 实现安全退出聊天室功能 250

8.6.2 处理非正常退出聊天室 251

8.7 疑难问题分析与解决 251

第9章 搜索引擎模块 253

9.1 概述 254

9.1.1 搜索引擎的分类 254

9.1.2 检索功能 254

9.1.3 搜索显示结果 254

9.1.4 页面组织 254

9.1.5 其他功能 254

9.1.6 中文搜索引擎的特点 255

9.2 关键技术 255

9.2.1 模糊查询 255

9.2.2 综合条件查询 256

9.2.3 中文分词技术 257

9.2.4 Lucene技术创建索引 258

9.2.5 Lucene技术字段检索 260

9.3 普通搜索 260

9.3.1 功能描述 260

9.3.2 系统流程图 261

9.3.3 数据库设计 262

9.3.4 定义新闻信息的Form实现类 262

9.3.5 普通搜索的Servlet实现类 262

9.3.6 web.xml的配置 263

9.3.7 新闻搜索 263

9.3.8 新闻再次搜索 266

9.3.9 联合搜索 268

9.4 高级搜索 269

9.4.1 功能描述 269

9.4.2 系统流程图 270

9.4.3 数据库设计 270

9.4.4 定义图书信息的Form实现类 270

9.4.5 图书搜索页面表单设计 271

9.4.6 数据库的连接和读取操作类的实现 272

9.4.7 图书搜索结果页面的编写 274

9.5 Lucene搜索引擎 275

9.5.1 功能描述 275

9.5.2 系统流程图 275

9.5.3 数据库设计 276

9.5.4 定义网站信息与关键字的Form实现类 276

9.5.5 Lucene搜索引擎的Servlet实现类 277

9.5.6 web.xml的配置 277

9.5.7 创建索引文件 277

9.5.8 带记忆功能的搜索表单 281

9.5.9 对索引文件搜索关键字 287

9.5.10 对网站所有关键字的查询 291

9.6 疑难问题与解决 292

9.6.1 利用Servlet监听器处理中文乱码 292

9.6.2 提示列表的背景不透明的解决方法 293

9.6.3 AND运算符设置多条件 293

第10章 RSS模块 295

10.1 概述 296

10.1.1 RSS的定义 296

10.1.2 RSS的作用 296

10.1.3 RSS的发展趋势 296

10.2 关键技术 296

10.2.1 RSS的订阅原理 296

10.2.2 RSS结构 297

10.2.3 验证RSS订阅地址的有效性 298

10.2.4 自动复制RSS订阅地址到剪贴板 299

10.2.5 自动将剪贴板中的内容粘贴到指定文本框 300

10.2.6 应用JDOM解析RSS订阅文件 300

10.3 在网站中加入RSS功能 302

10.3.1 生成RSS聚合页 302

10.3.2 实现订阅到RSS功能 304

10.4 在线RSS阅读器 305

10.4.1 功能描述 305

10.4.2 数据库及数据表设计 305

10.4.3 公共模块设计 305

10.4.4 实现在线RSS阅读器的主界面 311

10.4.5 实现添加频道组 314

10.4.6 实现删除频道组 316

10.4.7 实现添加频道信息 318

10.4.8 实现树状显示频道列表 321

10.4.9 通过Ajax实现实时显示频道内容 323

10.4.10 实现批量删除RSS频道 325

第11章 备忘录模块 327

11.1 概述 328

11.1.1 功能描述 328

11.1.2 系统流程 328

11.1.3 主界面预览 328

11.2 关键技术 329

11.2.1 自定义提醒设置 329

11.2.2 通过正则表达式验证时间格式是否正确 331

11.2.3 判断母亲节或父亲节的方法 332

11.2.4 判断提醒时间是否小于当前时间 333

11.2.5 弹出带声音提醒的气泡提示 334

11.2.6 阅读后的备忘信息不再提醒 337

11.3 数据库设计 338

11.4 公共模块设计 339

11.4.1 数据库连接及操作类的编写 339

11.4.2 字符串处理类的编写 339

11.4.3 日期时间处理类的编写 340

11.4.4 万年历核心类的编写 340

11.4.5 编写保存备忘信息的JavaBean 346

11.4.6 编写处理备忘信息相关请求的Servlet 347

11.4.7 系统配置 348

11.5 主界面设计 348

11.6 添加备忘录 349

11.6.1 设计添加备忘录页面 350

11.6.2 保存备忘信息 352

11.7 万年历 354

11.7.1 实现带农历的万年历 354

11.7.2 实现在万年历中标记备忘信息 358

11.8 备忘录提醒 358

11.8.1 实现自动弹出到期提醒的气泡提示 358

11.8.2 阅读到期提醒的备忘信息 360

11.9 查看备忘录 361

11.9.1 实现通过万年历直接查看备忘录 361

11.9.2 实现按指定条件查找备忘信息 364

11.9.3 删除备忘信息 365

11.10 疑难问题分析与解决 366

第12章 购物车模块 369

12.1 概述 370

12.2 模块流程图 370

12.3 关键技术 370

12.3.1 应用iframe框架显示内容 370

12.3.2 Cookie操作 371

12.3.3 购物车的创建 372

12.3.4 让SQL Server定期自动执行命令 374

12.4 数据库设计 375

12.5 公共模块设计 376

12.6 页面设计 378

12.7 在主页面中显示商品 380

12.8 添加商品到购物车 382

12.8.1 实现“放入购物车”超级链接代码 382

12.8.2 在web.xml中进行请求配置 382

12.8.3 创建ShopcarServlet类 382

12.8.4 创建ShopcarDao类 383

12.9 查看购物车 384

12.9.1 请求超级链接 384

12.9.2 配置web.xml文件 384

12.9.3 在ShopcarServlet类中创建处理方法 384

12.9.4 在ShopcarDao类中创建getShopcar()方法 384

12.9.5 创建显示购物车的JSP页面 385

12.10 修改商品数量 385

12.10.1 在ShopcarServlet类中创建处理方法 386

12.10.2 在ShopcarDao类中创建updateBuyNum()方法 387

12.11 删除商品和清空购物车 387

12.11.1 实现“删除”超级链接代码 387

12.11.2 在ShopcarServlet类中创建remove()方法 387

12.11.3 在ShopcarDao类中创建deleteGoods()方法 387

12.12 生成订单 387

12.12.1 在ShopcarServlet类中创建payforMoney()方法 388

12.12.2 创建填写表单信息的JSP页面 388

12.12.3 在ShopcarServlet类中创建createorderform()方法 389

12.12.4 创建显示订单信息页面 390

12.12.5 创建affirmOrderform.jsp页面 390

12.13 疑难问题分析与解决 391

第13章 在线支付模块 393

13.1 概述 394

13.2 关键技术 394

13.2.1 支付宝接口介绍 394

13.2.2 银行接口介绍 395

13.2.3 应用银行接口开发前准备 396

13.3 应用支付宝实现在线支付 397

13.3.1 功能描述 397

13.3.2 系统流程图 397

13.3.3 创建链接支付宝平台的支付页面 397

13.3.4 创建支付完成后跳转返回的页面 398

13.4 应用银行接口实现在线支付 399

13.4.1 功能概述 399

13.4.2 系统流程 399

13.4.3 创建链接工行的支付页面 400

13.4.4 创建PaymentOrdersServlet及MyPayment辅助类 400

13.4.5 创建将商户表单提交给工行的页面 402

第14章 报表打印模块 403

14.1 概述 404

14.1.1 报表打印在Web中的作用 404

14.1.2 比较常见的报表打印形式 404

14.2 关键技术 405

14.2.1 iText组件 405

14.2.2 POI组件 406

14.2.3 JavaScript+CSS打印技术 407

14.2.4 WebBrowse打印技术 407

14.2.5 将报表导入Word中 408

14.2.6 iReport软件和JasperReport组件 409

14.3 主从报表与分栏报表打印 412

14.3.1 功能描述 412

14.3.2 系统流程图 413

14.3.3 数据库设计 414

14.3.4 使用iReport软件制作主从报表 415

14.3.5 使用iReport软件制作分栏报表 418

14.3.6 配置使用JasperReport组件 420

14.3.7 编译主从及分栏报表 420

14.3.8 在页面中调用主从报表 421

14.3.9 在页面中调用分栏报表 423

14.4 自定义报表打印 423

14.4.1 功能描述 423

14.4.2 系统流程图 424

14.4.3 数据库设计 425

14.4.4 自定义报表的实现 426

14.4.5 将自定义报表导入Word 429

14.4.6 将自定义报表导入Excel 430

14.4.7 将自定义报表导入PDF文档 430

14.4.8 自定义报表打印设置及报表打印 431

14.5 错误分析与处理 432

第15章 数据维护模块 433

15.1 概述 434

15.1.1 数据库备份类型 434

15.1.2 数据库恢复类型 435

15.2 关键技术 435

15.2.1 SQL Server备份数据库语句 435

15.2.2 SQL Server恢复数据库语句 437

15.2.3 MySQL备份数据库语句 437

15.2.4 MySQL恢复数据库语句 439

15.2.5 JDBC对数据库的事务操作 441

15.3 维护SQL Server 2000数据库 442

15.3.1 功能描述 442

15.3.2 系统流程图 443

15.3.3 数据库设计 443

15.3.4 公共类的编写 444

15.3.5 Servlet配置 445

15.3.6 查询用户维护记录 446

15.3.7 备份数据库操作 448

15.3.8 还原数据库操作 451

15.3.9 删除备份记录操作 452

15.4 维护MySQL数据库 453

15.4.1 MySQL数据库属性的赋值 453

15.4.2 备份数据库操作 453

15.4.3 还原数据库操作 454

15.5 疑难问题与分析 454

第16章 许愿墙模块 455

16.1 概述 456

16.1.1 功能描述 456

16.1.2 系统流程 456

16.1.3 主界面预览 456

16.2 关键技术 457

16.2.1 应用DIV+CSS样式进行页面布局 457

16.2.2 Ajax中解决中文乱码 460

16.2.3 分类选择心情图案 460

16.2.4 限制字条内容的长度 461

16.2.5 定义生成指定范围随机数的标签 462

16.2.6 实现可拖放DOM 464

16.3 数据库设计 467

16.4 公共模块设计 467

16.4.1 数据库连接及操作的类的编写 467

16.4.2 字符串处理类的编写 470

16.4.3 保存分页代码的JavaBean 471

16.4.4 生成验证码的类 473

16.4.5 许愿墙模块的ActionForm实现类 473

16.4.6 许愿墙模块的Action实现类 474

16.4.7 Struts配置文件 474

16.5 主界面设计 476

16.6 实现许愿功能 477

16.6.1 打开贴字条窗口 477

16.6.2 设计贴字条表单 479

16.6.3 实时预览许愿字条内容 479

16.6.4 保存许愿字条 481

16.6.5 关闭贴字条窗口 484

16.6.6 将新添加许愿字条显示到许愿墙上 485

16.7 显示许愿字条 485

16.7.1 随机显示许愿字条 485

16.7.2 单击指定字条时该字条置顶显示 487

16.7.3 双击指定字条时该字条突出显示 488

16.7.4 滚动显示最新的10条字条 488

16.8 操作许愿字条 490

16.8.1 按字条ID搜索许愿字条 490

16.8.2 拖动许愿字条 491

16.8.3 无刷新实现字条支持功能 492

16.8.4 关闭许愿字条 493

16.8.5 多条件搜索许愿字条 493

16.9 疑难问题分析与解决 496

16.9.1 解决不能实时预览改变字条颜色效果的问题 496

16.9.2 解决按ID搜索字条时搜索结果不能正常显示的问题 496

第17章 电子邮件模块 497

17.1 概述 498

17.1.1 功能描述 498

17.1.2 系统流程 498

17.1.3 主界面预览 498

17.2 关键技术 499

17.2.1 建立Java Mail的开发环境 499

17.2.2 使用Java Mail组件 500

17.2.3 Ajax实时统计邮件封数 503

17.2.4 接收未读邮件 506

17.2.5 删除电子邮件 506

17.2.6 从联系人列表中选择邮件地址到“收件人”文本框 506

17.3 配置邮件服务器 507

17.3.1 SMTP和POP3简介 507

17.3.2 安装和配置SMTP服务器 507

17.3.3 安装和配置POP3服务器 509

17.4 数据库设计 510

17.5 公共模块设计 511

17.5.1 数据库连接及操作类的编写 511

17.5.2 字符串处理类的编写 511

17.5.3 保存分页代码的JavaBean 511

17.5.4 编写发送邮件相关请求的Servlet实现类 512

17.5.5 编写接收邮件相关请求的Servlet实现类 513

17.5.6 系统配置 514

17.6 登录邮件服务器 514

17.7 主界面设计 516

17.8 发送电子邮件 517

17.8.1 设计发送电子邮件页面 518

17.8.2 上传附件 520

17.8.3 实现发送邮件 521

17.8.4 保存发送日志 523

17.9 收件箱管理 524

17.9.1 接收已读邮件和未读邮件 524

17.9.2 查看邮件详细信息 527

17.9.3 下载附件 529

17.9.4 删除邮件 530

17.10 程序调试 533

17.10.1 解决接收除GBK和GB2312以外编码的邮件乱码的问题 533

17.10.2 解决接收UTF-7编码的邮件产生错误的问题 533

第18章 网络相册模块 537

18.1 概述 538

18.1.1 功能描述 538

18.1.2 系统流程 538

18.1.3 主界面预览 538

18.2 关键技术 539

18.2.1 对相片上传格式的设置 539

18.2.2 动态操作上传表单 540

18.2.3 缩略图的生成 541

18.2.4 相片水印效果 542

18.2.5 图片显示特效 542

18.3 数据库设计 543

18.4 公共模块设计 544

18.4.1 网络相册模块的Form实现类 544

18.4.2 网络相册模块的Servlet实现类 545

18.4.3 配置web.xml文件 545

18.4.4 其他公共类 546

18.5 主界面设计 546

18.6 分栏显示相片类别 548

18.7 相片浏览 552

18.7.1 滚动浏览相片 552

18.7.2 幻灯片浏览相片 554

18.8 相片上传 556

18.8.1 相片上传表单设计 556

18.8.2 批量相片上传Servlet实现类 557

18.8.3 相片添加的Dao实现类 559

18.9 相片详细查询 559

18.9.1 相片详细查询Servlet实现类 559

18.9.2 相片详细查询页面的编写 560

18.10 生成水印相片 561

18.10.1 生成水印相片表单的编写 561

18.10.2 生成水印相片的Servlet实现类 562

18.10.3 修改相片的Dao实现类 563

18.11 相片删除 563

18.12 疑难问题与解决 565

18.12.1 请求转发与重定向问题 565

18.12.2 Servlet多业务处理问题 566

第19章 播客模块 567

19.1 概述 568

19.1.1 功能描述 568

19.1.2 系统流程 568

19.1.3 主界面预览 569

19.2 关键技术 570

19.2.1 连接池描述 570

19.2.2 连接池的工作原理 571

19.2.3 Java连接池配置种类 572

19.2.4 获得JNDI的名称实现对数据库的连接 573

19.3 数据库设计 573

19.4 公共模块设计 575

19.4.1 Tomcat连接池的配置 575

19.4.2 分页Java Bean的编写 576

19.5 前台主页设计 579

19.6 视频浏览模块设计 580

19.6.1 定义视频的FormBean实现类 580

19.6.2 按类别查询视频信息 581

19.6.3 视频搜索 583

19.6.4 视频播放 584

19.7 视频留言模块设计 586

19.7.1 定义视频留言的FormBean实现类 586

19.7.2 视频留言查询 587

19.7.3 视频留言 588

19.8 后台主页设计 589

19.9 视频管理模块设计 590

19.9.1 视频上传 590

19.9.2 视频删除 593

19.10 疑难问题分析与解决 595

第20章 在线音乐模块 597

20.1 概述 598

20.1.1 功能描述 598

20.1.2 系统流程 598

20.1.3 主界面预览 599

20.2 关键技术 600

20.2.1 验证客户端是否安装Windows Media Player和Real Player播放器的方法 600

20.2.2 调用Windows Media Player和Real Player播放器播放歌曲 600

20.2.3 获取LRC歌词的行数 601

20.2.4 应用jspSmartUpload组件实现文件重命名的上传 603

20.2.5 防止被盗链下载歌曲文件 603

20.3 数据库设计 604

20.4 公共模块设计 604

20.4.1 数据库连接及操作类的编写 604

20.4.2 字符串处理类的编写 605

20.4.3 编写保存分页代码的JavaBean 605

20.4.4 编写在线音乐模块的ActionForm实现类 605

20.4.5 创建在线音乐模块的Action实现类 606

20.4.6 Struts配置文件 607

20.5 前台首页的实现 608

20.5.1 设计前台首页 608

20.5.2 实现新歌速递 609

20.5.3 显示试听排行和下载排行 611

20.6 试听歌曲并同步显示歌词 613

20.7 以顺序和随机方式进行歌曲连播 617

20.8 下载歌曲 622

20.9 添加歌曲 623

20.9.1 设计添加歌曲页面 623

20.9.2 上传歌曲文件及歌词文件 624

20.9.3 保存歌曲信息 625

20.10 删除歌曲信息 625

20.11 疑难问题分析与解决 627

第21章 博客模块 629

21.1 概述 630

21.1.1 功能描述 630

21.1.2 系统流程 631

21.1.3 主界面预览 631

21.2 关键技术 632

21.2.1 Struts2类包和Hibernate3类包下载文件结构 632

21.2.2 Struts2与Hibernate3整合流程结构 634

21.2.3 Struts2配置文件 635

21.2.4 Hibernate配置文件 638

21.2.5 应用JavaSrcipt对复选框进行操作 640

21.3 数据库设计 641

21.4 公共模块设计 643

21.4.1 编写Hibernate数据库配置文件 643

21.4.2 数据库持久化类的编写 643

21.5 主界面设计 646

21.5.1 首页操作的实现类 647

21.5.2 首页实现类涉及的struts.xml文件 648

21.5.3 显示主界面的代码 648

21.6 用户模块设计 650

21.6.1 定义用户的FormBean实现类 650

21.6.2 定义用户的FormBean实现类配置文件 650

21.6.3 创建用户的实现类 651

21.6.4 用户实现类涉及的struts.xml文件 651

21.6.5 用户注册实现 651

21.6.6 根据域名访问博客 655

21.6.7 推荐博客设置 656

21.7 文章模块设计 657

21.7.1 定义文章的FormBean实现类 657

21.7.2 定义文章的FormBean实现类配置文件 658

21.7.3 创建文章的实现类 658

21.7.4 文章实现类涉及struts.xml文件 659

21.7.5 文章类型操作 659

21.7.6 文章添加操作 662

21.7.7 文章浏览操作 663

21.7.8 文章详细查询操作 665

21.7.9 推荐文章设置 667

21.8 疑难问题与解决 668

21.8.1 关于Struts2中文转码的问题 668

21.8.2 关于重写模板的问题 668

第22章 论坛模块 669

22.1 概述 670

22.1.1 功能描述 670

22.1.2 系统流程 670

22.1.3 主界面预览 671

22.2 关键技术 671

22.2.1 Cookie实现自动登录 671

22.2.2 在线编辑器的使用 673

22.2.3 提前帖子 674

22.2.4 加强JavaScript脚本验证的安全性 675

22.2.5 获取上次访问的请求地址 676

22.3 数据库设计 678

22.4 公共模块设计 682

22.4.1 数据库连接及操作类 682

22.4.2 字符串处理类 684

22.4.3 访问路径处理类 686

22.4.4 分页类 687

22.4.5 动态菜单生成类 691

22.5 页面设计 695

22.6 权限分配与管理设计 697

22.7 列表显示类别、版块及主题 700

22.7.1 列表显示版块 700

22.7.2 列表显示主题 705

22.8 查看主题 711

22.9 发表主题 715

22.9.1 进入发表主题页面请求的实现 716

22.9.2 提交表单请求的实现 719

22.10 回复主题 724

22.11 等级管理 727

22.12 会员登录 728

22.13 后台管理 732

22.13.1 论坛管理 732

22.13.2 会员管理 736

22.13.3 用户组管理 737

22.14 疑难问题分析与解决 739

22.14.1 使用在线编辑器时的表单验证 739

22.14.2 树状菜单的生成 740

第23章 程序调试与发布 741

23.1 查看错误提示信息 742

23.1.1 查看JSP页面输出的错误 742

23.1.2 查看错误日志 742

23.2 常见错误的分析与解决 743

23.2.1 指令标识的语法错误 743

23.2.2 动作标识的语法错误 744

23.2.3 脚本标识中的错误 746

23.2.4 空指针错误 748

23.3 发布网站到个人服务器 749

23.4 发布网站到FTP服务器 751