第1章 ASP开发前奏 1
1.1 ASP基于服务器模式的运行原理 1
1.1.1 ASP原理 1
1.1.2 ASP与JSP、PHP的比较 2
1.2 ASP开发运行环境的搭建 4
1.2.1 常用ASP开发工具 4
1.2.2 IIS的安装 5
1.2.3 站点和虚拟目录的创建 7
1.3 ASP与数据库建立Connection连接 9
1.3.1 通过OLE DB连接数据库 10
1.3.2 通过ODBC数据源连接数据库 11
1.3.3 独家见解——使用ASP如何选择适当的数据库连接 13
1.4 站点与服务器安全 13
1.4.1 ASP站点安全优化原则 14
1.4.2 ASP中使用Access的安全隐患及对策 14
1.4.3 慎重使用上传功能 15
1.5 独家见解 16
1.5.1 C/S结构与B/S结构的区别 16
1.5.2 选择VBScript还是JScript 17
1.6.1 ASP调试技巧 18
1.6 指点迷津 18
1.6.2 怎样学好ASP 20
1.6.3 如何在互联网发布自己的网站 21
1.7 不能不说 22
1.7.1 网站系统建设的基本步骤 22
1.7.2 养成良好的编程习惯 23
1.8 小结 25
第2章 注册及登录验证模块设计 26
2.1 在SQL Server中建立用户信息表 26
2.2 创建注册提交表单 27
2.3 用ASP处理注册数据 28
2.3.1 客户端验证数据有效性 29
2.3.2 使用Command对象操作数据库 33
2.3.3 检查用户名是否存在 35
2.3.4 脚下留心——小心SQL注入漏洞 37
2.3.5 多学两招——Command对象的优化 38
2.3.6 保存数据到数据库 38
2.3.7 发送注册成功确认邮件 39
2.3.8 独家见解——在前台还是后台验证数据有效性 41
2.4.1 创建用户名和密码输入表单 42
2.4 实现用户登录 42
2.4.2 验证用户名及密码是否正确 43
2.4.3 脚下留心——不安全的用户名和密码验证 44
2.4.4 更新用户登录次数 45
2.4.5 用Session保存登录信息 45
2.4.6 判断用户是否已登录 47
2.5 独家见解 48
2.5.1 提高使用Request获取信息的效率 48
2.5.2 模块化程序的好处 48
2.6.1 如何快速调试数据库连接及处理错误 49
2.6 多学两招 49
2.6.2 使用MD5算法加密密码 51
2.7 小结 51
第3章 访问统计分析模块 52
3.1 功能分析及数据库结构 52
3.1.1 统计功能概述 52
3.1.2 访问统计系统原理 53
3.1.3 数据库表结构 55
3.2.1 获取并记录访问者信息 57
3.2 访问统计设计 57
3.2.2 指点迷津——如何判断浏览器是否支持JavaScript和Cookies 60
3.2.3 指点迷津——使用Request对象获得更多客户端信息 62
3.2.4 使用Session防止重复记录 64
3.2.5 显示访问计数器 66
3.2.6 使用图片样式显示计数器 67
3.2.7 多学两招——使用生成验证码方法生成图片 68
3.3 生成统计分析结果 70
3.3.1 日流量统计 70
3.3.2 独家见解——如何使GetRows和NextRecordset双簧合奏 71
3.3.3 生成统计图表设计 72
3.3.4 月流量统计 74
3.3.5 访客浏览器统计 75
3.3.6 访客来源地区统计 76
3.3.7 多学两招——使用第三方组件生成统计图表 77
3.4 访问统计系统优化思考 80
3.4.1 统计数据准确性问题 80
3.4.2 统计系统的安全性及性能分析 82
3.5 小结 82
4.1.1 聊天室原理 83
4.1 聊天室原理及功能实现分析 83
第4章 聊天室模块设计 83
4.1.2 功能实现分析 84
4.2 聊天室主体框架设计 87
4.2.1 登录页面的设计 87
4.2.2 主框架设计 92
4.2.3 在线用户列表页面设计 94
4.2.4 聊天内容页面设计 96
4.2.5 发送内容页面设计 98
4.3 聊天室在线用户管理 103
4.2.6 多学两招——用Application对象或Session对象缓存常用数据 103
4.3.1 发布公告信息 104
4.3.2 查看用户信息 105
4.3.3 禁止恶意会员登录 106
4.3.4 将用户踢出聊天室 107
4.4 无刷新聊天室的实现 107
4.4.1 无刷新聊天室的实现原理 107
4.4.2 改造聊天内容无刷新实现 108
4.4.3 改造在线用户列表无刷新实现 112
4.5 指点迷津——何谓Ajax技术 114
4.6 小结 115
第5章 讨论区BBS模块设计 116
5.1 功能分析及数据库结构 116
5.1.1 功能概述 116
5.1.2 数据库表结构 117
5.2 讨论区主页面设计 120
5.2.1 顶部及底部公用文件的设计 120
5.2.2 循环列出讨论区页面(Default.asp) 121
5.2.3 查看帖子列表页面(Board.asp) 124
5.3.1 帖子阅读页面(Topic.asp) 128
5.3 帖子浏览及发布页面设计 128
5.3.2 发布帖子页面(Post_Topic.asp) 131
5.3.3 多学两招——为发布帖子页面添加WYSIWYG编辑器 134
5.3.4 多学两招——如何在Form域中Post大于100KB的数据 136
5.3.5 帖子搜索页面(Search.asp) 137
5.4 讨论区管理设计 139
5.4.1 版面添加页面(Admin_Board_Add.asp) 139
5.4.2 版面修改页面(Admin_Board_Edit.asp) 140
5.4.3 版面删除页面(Admin_Board_Del.asp) 141
5.4.4 ASP数据库事务控制处理 142
5.4.5 对帖子的特殊属性进行操作(Admin_Topic_Edit.asp) 143
5.4.6 删除帖子(Admin_Topic_Del.asp) 144
5.5 用户管理设计 145
5.5.1 查看用户发帖排行(Admin_User_List.asp) 145
5.5.2 给用户发送信息 148
5.5.3 查看用户信息(User_Info.asp) 151
5.5.4 删除用户(Admin_User_Del.asp) 152
5.5.5 屏蔽用户发帖功能(Admin_User_Lock.asp) 153
5.6 指点迷津 154
5.6.1 ADO的本质 154
5.6.2 如何提高ASP执行SQL的效率 155
5.7 小结 157
第6章 新闻发布管理系统 158
6.1 系统分析与总体设计 158
6.1.1 系统功能描述 158
6.1.2 系统结构设计 160
6.2 数据库设计与实现 161
6.2.1 数据库需求分析 161
6.2.2 数据库逻辑设计 162
6.3 公共模块设计 164
6.3.1 数据库连接模块 165
6.3.2 Global.asa文件 167
6.4 新闻管理模块设计 168
6.4.1 新闻栏目管理 168
6.4.2 多学两招——多级目录的存储和实现 171
6.4.3 新闻目录树实现 173
6.4.4 新闻列表设计 175
6.4.5 发布新闻表单 178
6.4.6 保存新闻 180
6.4.7 修改新闻 182
6.4.9 多学两招——同时删除多条新闻 185
6.4.8 删除新闻 185
6.4.10 实现图片及附件上传 187
6.4.11 指点迷津——删除多表操作的实现 191
6.5 新闻浏览模块设计 193
6.5.1 新闻浏览首页 193
6.5.2 指点迷津——多表查询的表联结 196
6.5.3 新闻浏览页面设计 197
6.5.4 脚下留心——不要用错Rs.Eof和Rs.Bof 200
6.5.5 添加新闻评论 201
6.5.6 查看新闻评论内容 203
6.6 重点难点分析 204
6.7 系统应用与扩展 205
6.8 小结 206
第7章 在线人才网站系统 207
7.1 系统分析与总体设计 207
7.1.1 系统功能描述 207
7.1.2 系统结构设计 208
7.2 数据库设计与实现 209
7.2.1 数据库需求分析 209
7.2.2 数据库逻辑设计 210
7.3 系统目录结构与共用模块 214
7.3.1 系统目录结构 214
7.3.2 数据库连接conn.asp设计 215
7.3.3 检测用户是否登录Com_Session.asp设计 216
7.4 前台页面设计 216
7.4.1 首页设计 217
7.4.2 广告轮播设计 219
7.4.3 指点迷津——关于ASP组件 221
7.4.4 推荐职位显示设计 222
7.5 企业会员招聘模块设计 224
7.4.5 独家见解——<%=example%>与Response.Write之间的选择 224
7.5.1 企业会员登录设计 225
7.5.2 企业会员注册设计 229
7.5.3 多学两招——限制只能中文输入的方法 232
7.5.4 招聘职位发布设计 233
7.5.5 独家见解——Insert into与Rs.AddNew执行效率的比较 236
7.6 个人会员求职模块设计 237
7.6.1 个人求职模块首页 237
7.6.2 多学两招——ASP中巧用Response属性 238
7.6.3 职位搜索页面设计 239
7.6.4 多学两招——“where 1=1”的妙用 240
7.6.5 招聘职位浏览设计 242
7.6.6 发送应聘意向设计 244
7.6.7 独家见解——使用完毕后即时释放对象 245
7.6.8 职位收藏夹设计 246
7.7 管理模块设计 247
7.7.1 管理页面首页设计 247
7.7.2 后台管理系统登录页面设计 248
7.7.3 指点迷津——如何在ASP中设置页面访问权限 251
7.7.4 职场资讯管理设计 254
7.7.5 指点迷津——不要用错Rs.Open的参数 258
7.7.6 会员信息管理设计 259
7.7.7 广告管理系统设计 266
7.7.8 多学两招——如何用ASP发送HTML格式的邮件 272
7.8 系统应用与扩展 273
7.9 小结 273
第8章 在线宽频电影点播系统 274
8.1 系统分析与总体设计 274
8.1.1 电影点播系统背景介绍 274
8.1.2 系统功能及结构设计 275
8.1.3 系统流程分析 277
8.2.1 数据库需求分析与E-R图 278
8.2 数据库设计与实现 278
8.2.2 数据库逻辑设计 279
8.3 视频浏览及点播模块设计 283
8.3.1 系统页面中模块的构建 283
8.3.2 系统首页(Default.asp)设计 290
8.3.3 视频列表页面(List.asp)设计 292
8.3.4 视频查询设计 295
8.3.5 视频信息及视频点播页面设计 296
8.3.6 独家见解——如何进行视频文件的防盗链 299
8.3.7 对电影发表评论及报告连接错误 300
8.3.8 用户最近浏览记录 302
8.3.9 用户视频收藏 304
8.3.10 用户点卡充值和点数管理 306
8.3.11 优化攻略——使用服务器缓存 309
8.3.12 E-mail订阅影视信息 311
8.4 系统管理模块设计 312
8.4.1 系统信息管理 312
8.4.2 后台控制首页推荐信息 314
8.4.3 生成RSS方式浏览的文件rss.xml 316
8.4.4 指点迷津——Web 2.0离我们有多远 319
8.4.5 多学两招——生成文件的两种方法 320
8.4.6 用户订阅信息的发送 321
8.5 用户管理模块设计 323
8.5.1 用户信息维护设计 323
8.5.2 用户账户维护设计 327
8.5.3 显示不同状态用户列表信息 328
8.5.4 影视充值卡生成 329
8.5.5 系统计费设置 331
8.5.6 多学两招——ASP中实现打印功能 332
8.6.1 视频类别管理设计 334
8.6 视频管理模块设计 334
8.6.2 视频添加设计 336
8.6.3 视频的维护设计 337
8.7 多学两招——备份及压缩数据库 339
8.8 重点难点分析 342
8.9 系统应用与扩展 342
8.10 小结 343
9.1 系统分析与总体设计 344
9.1.1 系统功能描述 344
第9章 在线鲜花订购系统 344
9.1.2 系统结构设计 345
9.1.3 系统流程分析 346
9.1.4 系统目录结构 347
9.2 数据库设计与实现 347
9.2.1 数据库需求分析 347
9.2.2 数据库逻辑分析 348
9.3 前台页面模块设计 351
9.3.1 首页设计 351
9.3.2 鲜花浏览模块设计 353
9.3.3 多学两招——使用JavaScript控制图片大小 357
9.3.4 鲜花查询模块设计 359
9.3.5 指点迷津——分页程序的两种实现方法比较 364
9.4 用户功能模块 365
9.4.1 用户注册设计 365
9.4.2 用户登录设计 368
9.5 购物车模块设计 372
9.5.1 订购鲜花流程 372
9.5.2 添加商品功能设计 372
9.5.3 优化攻略——Session对象与Application对象应用探究 381
9.5.4 收藏夹功能模块设计 383
9.6 后台管理模块设计 386
9.6.1 后台登录及权限设计 387
9.6.2 鲜花商品大类管理 388
9.6.3 鲜花商品小类管理 393
9.6.4 鲜花商品类别转移 397
9.6.5 添加新鲜花商品 399
9.6.6 管理鲜花订单 403
9.6.7 管理后台用户 408
9.6.8 指点迷津——如何优化ASP程序 410
9.8 小结 412
9.7 系统应用与扩展 412
第10章 企业客户关系管理系统 413
10.1 系统分析与总体设计 413
10.1.1 系统功能描述 413
10.1.2 系统结构设计 414
10.1.3 系统流程分析 415
10.2 数据库设计与实现 416
10.2.1 数据库需求分析 416
10.2.2 数据库逻辑设计 418
10.3.1 系统共用模块 423
10.2.3 指点迷津——空值Null能否夺去其他所有值的生命 423
10.3 系统共用模块及首页设计 423
10.3.2 员工登录设计 425
10.4 客户管理设计 426
10.4.1 企业客户添加 426
10.4.2 独家见解——主键生成策略 430
10.4.3 企业客户编辑 430
10.4.4 企业客户删除 436
10.4.5 联系人管理 437
10.5 客户机会管理 441
10.5.1 事件管理 442
10.5.2 商业机会管理 442
10.5.3 任务分配设计 444
10.6 客户来往管理设计 448
10.6.1 电话记录管理 448
10.6.2 E-mail记录管理 449
10.6.3 会议记录管理 450
10.7 系统管理设计 453
10.7.1 内部用户管理 453
10.7.2 多学两招——随机生成密码 458
10.7.3 密码管理 459
10.7.4 注销与记住密码设计 460
10.8 实现信息输出的多样化 461
10.8.1 为什么使用DLL组件 461
10.8.2 利用DLL组件输出Word或Excel 462
10.8.3 PDF文件的优势与输出方法 466
10.8.4 多学两招——对打印进行控制 467
10.9 系统应用与扩展 469
10.10 系统重点与难点 469
10.11 小结 470