本书以中小型实例的形式讲述了ASP在开发Web应用程序中的技巧和思路。
书本首先介绍了ASP开发的技巧和重要技术,尤其针对初学者如何快速入门及掌握ASP编程做了深入浅出的介绍,给出了学习的相关建议。然后重点介绍了ASP优化的知识,相信对进行ASP开发和学习的读者有相当的参考价值和指导意义。
在接下来的几章中,以多个实用的系统为例,详细地讲述了使用ASP开发Web应用程序的各个过程。
本书适用于使用ASP开发Web应用程序的技术人员及对相关技术感兴趣的读者,同时也非常适合于具备一定ASP基础知识的读者学习和提高。
本书首先介绍ASP开发Web应用程序的重点技术与技巧,指导初学者如何去学,怎么去学,并特别介绍ASP优化的知识,使初学者以一个较高的起点入门。然后以多个实用的系统为例,详细讲述用ASP创建Web应用程序的过程。内容包括许愿墙、实验室新闻系统、文章采集系统、用户错误记录与分析系统、手机销售系统、影片租赁系统和中小型企业建站解决方案。
全书逐层深入,由一个简单的系统开始,难度逐渐加深。书中关于ASP优化的技巧大多来源于微软工程师的技术文献和国内外开发人员的经验总结,具有非常高的实用价值。书中精选了最受关注的实例,非常适合于在校学生练习及个人或小型开发团队做项目参考之用。
全书在保留第1版侧重思路、突出软件工程思想等精华的同时,吸取来自全国范围内读者的建议和意见,在书中穿插讲解了JavaScript、CSS、Ajax等对于ASP开发人员不可或缺的技术,并丰富了多媒体光盘的内容,包括常见问题解答、IIS配置、数据库配置、源代码管理等ASP开发的各个方面,可以帮助你快速从菜鸟升级为Web开发高手。
第1章 ASP数据库开发技巧 1
1.1 ASP值得学习吗 1
1.2 ASP、PHP、JSP、ASP.NET群雄逐鹿 1
1.2.1 ASP技术 2
1.2.2 PHP技术 2
1.2.3 JSP技术 3
1.2.4 从应用范围上来看三种技术的优劣 4
1.2.5 三种技术的性能比较 4
1.2.6 三种技术的前景展望 4
1.3 ASP开发工具对比 5
1.3.1 ASP的本质 5
1.3.2 ASP开发工具对比 6
1.4 ASP运行环境配置—系统
架构师必读I 8
1.4.1 安装IIS 8
1.4.2 创建虚拟目录 9
1.4.3 创建应用程序 10
1.4.4 应用程序的特点 11
1.4.5 应用程序保护级别的解释 14
1.4.6 更多的IIS高级配置知识 14
1.5 ASP应用系统的结构设计—系统
架构师必读II 14
1.5.1 模块化设计 14
1.5.2 目录结构组织 15
1.5.3 尽量将页面代码与脚本代码分离 15
1.5.4 使用组件技术 16
1.6 数据库设计和开发技巧 18
1.6.1 数据库的命名规范 18
1.6.2 数据库值查询问题 19
1.6.3 常见错误及解决方法 20
1.7 ASP常见错误分析 21
1.7.1 没有安装IIS或服务未启动 21
1.7.2 使用Access数据库时无写权限 22
1.7.3 SQL Server服务未启动 23
1.7.4 类在使用之前需要实例化 24
1.7.5 附录中ASP常见问题分类 25
1.8 如何成为Web设计/开发高手 25
1.8.1 SQL、JavaScript、CSS,一个都不能少 25
1.8.2 培养良好的代码编写习惯 26
1.8.3 写下你的心得 28
1.9 小结 28
第2章 ASP开发必备知识 29
2.1 常用ASP内置对象 29
2.1.1 7个ASP内置对象介绍 29
2.1.2 Application对象 30
2.1.3 Request对象 32
2.1.4 Response 对象 34
2.1.5 Server对象 37
2.1.6 Session对象 37
2.1.7 ObjectContext对象 38
2.1.8 ASPError对象 39
2.2 使用ADO操纵数据库 39
2.2.1 什么是ADO 40
2.2.2 ADO的内置类 40
2.2.3 在ASP中使用ADO常量 43
2.2.4 使用ADO的一般步骤 44
2.3 ASP连接常用数据库的方法 46
2.3.1 使用OLE DB连接 46
2.3.2 使用ODBC连接 46
2.4 常用SQL语句 46
2.4.1 查询 46
2.4.2 添加 47
2.4.3 更新 47
2.4.4 删除 47
2.4.5 统计 47
2.5 常用的ASP技巧与模块 48
2.5.1 通用的分页模块 48
2.5.2 检测邮件地址合法性的函数 51
2.5.3 图片计数器的简单实现 52
2.6 使用JavaScript、IFRAME与Ajax 53
2.6.1 为什么使用JavaScript、IFRAME与
Ajax 53
2.6.2 什么是Ajax 55
2.6.3 简单的Ajax开发 56
2.6.4 文档对象模型:Document Object Model 60
2.6.5 Ajax开发中会遇到的问题 61
2.7 注册域名与发布网站 64
2.7.1 注册域名 64
2.7.2 购买虚拟空间 65
2.7.3 上传与管理网站 66
2.7.4 使搜索引擎能够搜索到你的网站 67
2.8 小结 68
第3章 创建高性能的ASP应用程序 69
3.1 优化页面设计 69
3.1.1 优化的原理 69
3.1.2 优化的基本原则 70
3.1.3 应用示例 70
3.2 ASP编码优化 70
3.2.1 声明VBScript变量 70
3.2.2 对URL地址进行编码 71
3.2.3 使用完毕后即时释放对象 71
3.2.4 不要轻易使用ASP事务 71
3.2.5 使用字符串建立SQL查询 72
3.2.6 使用<%=var%>还是Response.Write 72
3.3 优化数据库处理 72
3.3.1 对Connection的优化 73
3.3.2 对Command的优化 74
3.3.3 对RecordSet的优化 75
3.3.4 其他优化方法 76
3.4 ASP安全优化 77
3.4.1 避免使用inc作为扩展名 77
3.4.2 不要把Access数据库放在网站内部 77
3.4.3 过滤字符串中的单引号 77
3.4.4 禁止向客户端输出详细错误信息 78
3.4.5 慎用上传功能 78
3.5 微软提高ASP程序性能的28个技巧 79
3.6 小结 94
第4章 许愿墙 95
4.1 系统概述 95
4.1.1 系统功能与背景 95
4.1.2 系统设计思想 96
4.1.3 系统流程 96
4.2 数据库设计 98
4.3 系统通用模块设计 99
4.3.1 系统文件结构 99
4.3.2 数据库连接文件conn.asp 100
4.3.3 许愿墙UI操作的核心技术 101
4.4 许愿墙前台展示模块 105
4.4.1 许愿墙首页index.asp 105
4.4.2 发布许愿页面writehope.asp 109
4.4.3 保存许愿内容页save_hope.asp 115
4.4.4 搜索页面search.asp 116
4.5 后台管理模块的设计 117
4.5.1 后台登录页面adminlogin.asp 117
4.5.2 防止SQL注入的程序设计 119
4.5.3 登录检查页面chklogin.asp 119
4.5.4 退出登录页面loginout.asp 121
4.5.5 管理许愿内容页面hope.asp 122
4.5.6 删除许愿内容del.asp 124
4.5.7 其他公用模块的设计 125
4.6 开发难点与技巧 126
4.7 小结 127
第5章 实验室新闻系统V2.0 129
5.1 系统概述 129
5.1.1 系统功能与应用背景 129
5.1.2 系统预览 130
5.1.3 系统特点 132
5.2 系统设计 132
5.2.1 系统设计思想 132
5.2.2 系统功能模块划分 133
5.2.3 系统结构设计 134
5.3 数据库设计 134
5.3.1 数据库需求分析 134
5.3.2 数据库概念结构设计 135
5.3.3 数据库逻辑结构设计 137
5.4 数据库的生成与连接 138
5.4.1 数据库的生成 138
5.4.2 数据库的连接 139
5.5 客户界面设计 139
5.5.1 界面头、尾设计 139
5.5.2 界面栏目菜单的设计 140
5.5.3 主页栏目内信息显示的设计 140
5.5.4 栏目内所有新闻显示的设计 142
5.5.5 新闻搜索功能的设计 144
5.5.6 推荐新闻显示的设计 147
5.5.7 本周热点新闻显示的设计 148
5.5.8 首页图片新闻显示的设计 149
5.5.9 单条新闻显示的设计 150
5.5.10 相关新闻的设计 151
5.5.11 新闻评论的设计 153
5.6 管理界面设计 156
5.6.1 管理员登录功能模块设计 156
5.6.2 新闻显示功能模块设计 157
5.6.3 添加新闻功能模块设计 159
5.6.4 添加首页图片新闻功能模块设计 163
5.6.5 新闻审核和新闻处理功能模块设计 167
5.6.6 新闻栏目管理功能模块设计 173
5.6.7 用户管理功能模块设计 175
5.6.8 新闻模板管理功能模块设计 177
5.7 开发难点与技巧 179
5.7.1 系统后台管理安全性 179
5.7.2 数据库的安全性 179
5.7.3 新闻内容的格式转换 180
5.7.4 用新闻模板实现新闻代码的自动生成 180
5.7.5 利用组件技术实现新闻文件的
自动生成和删除 181
5.7.6 利用组件技术实现在线发送信件 182
5.8 系统的调试与注意事项 183
5.9 系统的编译和发行 183
5.10 小结 184
第6章 文章采集系统 185
6.1 系统概述 185
6.1.1 系统功能与背景 185
6.1.2 系统预览 186
6.1.3 系统特点 190
6.2 系统设计 190
6.2.1 系统功能模块划分 190
6.2.2 系统结构设计 191
6.3 数据库设计 192
6.3.1 数据库逻辑设计 192
6.3.2 数据库设计 192
6.4 系统通用功能模块设计 195
6.4.1 系统文件结构 195
6.4.2 数据库连接文件 195
6.4.3 数据缓存类文件 197
6.4.4 采集系统核心函数 200
6.4.5 通用函数 207
6.5 系统模块设计 214
6.5.1 栏目管理模块设计 215
6.5.2 项目管理模块设计 216
6.5.3 历史记录模块设计 218
6.5.4 数据采集模块设计 219
6.6 小结 245
第7章 用户错误记录与分析系统(Ajax) 247
7.1 系统概述 247
7.1.1 系统功能与应用背景 247
7.1.2 系统预览 248
7.1.3 系统特点 250
7.2 系统设计 251
7.2.1 系统设计思想 251
7.2.2 系统功能模块划分 252
7.2.3 系统结构设计 253
7.3 数据库设计 254
7.3.1 数据库需求分析 254
7.3.2 数据库概念结构设计 254
7.3.3 数据库逻辑结构设计 255
7.3.4 数据库的生成与配置 257
7.4 系统通用模块的编写 258
7.4.1 变量验证函数chkstring() 258
7.4.2 字符串格式化函数FormatString() 260
7.4.3 查找最大值函数MaxNumber() 260
7.4.4 去掉最左、右边一个字符的函数
cutLeft()、cutRight() 261
7.4.5 在字符串中插入一个字符的函数
InsertStr() 262
7.4.6 数据分析图形化输出函数
ComparableData() 262
7.4.7 无返回值SQL执行函数ExecSQL() 265
7.4.8 数据库记录有效性验证函数
IsRecordExist() 265
7.4.9 读取错误类型列表函数
GetErrTypeList() 266
7.4.10 读取具体错误列表函数
GetErrCodeList() 267
7.5 插件功能设计 269
7.5.1 ASP插件开发思路 269
7.5.2 插件的灵活性 270
7.5.3 GetErr()函数的设计思路 271
7.5.4 GetErr()函数的编写 272
7.6 管理界面设计 276
7.6.1 系统信息 276
7.6.2 系统配置方案修改 282
7.6.3 系统管理人员设置 287
7.6.4 系统错误类型设置 291
7.6.5 系统错误信息设置 298
7.6.6 系统错误日志管理 301
7.6.7 错误日志数据分析 307
7.7 开发难点与技巧 319
7.7.1 界面元素操作的一致性 319
7.7.2 易用的用户操作界面 319
7.7.3 数据库的查询 319
7.8 小结 320
第8章 特瑞飞手机商城V2.0 321
8.1 系统概述 321
8.1.1 系统功能与应用背景 321
8.1.2 系统预览 322
8.1.3 系统特点 324
8.2 系统设计 324
8.2.1 系统设计思想 324
8.2.2 系统功能模块划分 326
8.2.3 系统运行架构 327
8.3 数据库设计 328
8.3.1 数据库需求分析 328
8.3.2 数据库概念结构设计 329
8.3.3 数据库逻辑结构设计 331
8.4 数据库的生成与配置 334
8.4.1 Access数据库 334
8.4.2 SQL Server数据库 334
8.5 系统通用功能模块的编写 334
8.5.1 系统结构概览 334
8.5.2 应用程序公共文件global.asa 337
8.5.3 数据库连接conndb.asp 338
8.5.4 检测管理员是否登录checkuser.asp 340
8.5.5 站点参数设置config.asp 340
8.5.6 其他公共模块 341
8.6 管理端界面设计 341
8.6.1 管理端界面结构设计 342
8.6.2 界面头、尾设计 343
8.6.3 厂商管理模块 343
8.6.4 商品(手机)维护模块 355
8.6.5 会员维护模块 368
8.6.6 订单维护模块 370
8.6.7 查看发货模块 374
8.6.8 常见问题(FAQ)管理模块 376
8.6.9 管理员维护模块 376
8.6.10 用户登录模块 377
8.7 客户端界面设计 381
8.7.1 客户端界面结构设计 381
8.7.2 页面头、尾设计 382
8.7.3 页面左侧快捷菜单设计 383
8.7.4 商城主页设计 388
8.7.5 商品(手机)信息浏览模块 392
8.7.6 购物车管理模块设计 394
8.7.7 提交订单模块设计 397
8.7.8 在线帮助(常见问题)模块 402
8.7.9 会员模块 403
8.8 开发难点与技巧 403
8.8.1 强制变量声明 403
8.8.2 使用数据库连接池 403
8.8.3 使用模块化设计 404
8.8.4 使用站点设置文件提高程序伸缩性 404
8.8.5 使用Typelib声明ADO 405
8.9 系统移植 405
8.9.1 创建ASP应用程序 405
8.9.2 将数据库与Web应用程序分目录存放 406
8.10 小结 406
第9章 影片租赁系统 407
9.1 系统概述 407
9.1.1 系统功能与应用背景 407
9.1.2 系统预览 408
9.1.3 系统特点 409
9.2 系统设计 410
9.2.1 系统设计思想 410
9.2.2 系统功能模块划分 411
9.2.3 系统结构设计 412
9.3 数据库设计 412
9.3.1 数据库需求分析 413
9.3.2 数据库概念结构设计 414
9.3.3 数据库逻辑结构设计 415
9.3.4 数据库的命名规范 419
9.4 数据库的生成与配置 420
9.4.1 使用SQL Server数据库 420
9.4.2 使用Access数据库 420
9.5 系统通用功能模块的编写 420
9.5.1 数据库连接conn.asp 422
9.5.2 返回错误代码ChkErr.asp 422
9.5.3 检测用户是否拥有管理权限
ChkAdmin.asp 424
9.5.4 过滤SQL字符ChkSQL.asp 425
9.5.5 翻页功能ChangePage.asp 425
9.5.6 输出操作信息ResultMsg.asp 427
9.6 客户界面设计 427
9.6.1 界面头、尾设计 427
9.6.2 用户注册模块设计 428
9.6.3 用户登录模块设计 431
9.6.4 影片浏览模块设计 433
9.6.5 用户信息模块设计 438
9.6.6 用户资料管理模块设计 441
9.6.7 查看用户租赁信息模块设计 445
9.6.8 用户预订影片模块设计 448
9.6.9 用户注销登录模块设计 450
9.7 管理界面设计 451
9.7.1 系统信息的查看与修改模块设计 451
9.7.2 用户管理模块设计 453
9.7.3 影片管理模块设计 457
9.7.4 租赁管理/分析模块设计 457
9.7.5 起租与结算模块 463
9.8 系统安全性 467
9.8.1 SQL漏洞注入简述 467
9.8.2 无意错误的避免 469
9.8.3 故意入侵的防范 469
9.9 开发难点与技巧 470
9.9.1 数据库驱动 470
9.9.2 数据库关系 471
9.10 系统调试与注意事项 471
9.10.1 判断数据是否符合规范 471
9.10.2 数据库值查询问题 472
9.11 小结 473
第10章 中小型企业建站解决方案V2.0 475
10.1 系统概述 475
10.1.1 系统功能与应用背景 475
10.1.2 系统预览 476
10.1.3 系统特点 479
10.2 系统设计 479
10.2.1 系统设计思想 479
10.2.2 系统功能模块划分 481
10.3 数据库设计 482
10.3.1 数据库需求分析 482
10.3.2 数据库概念结构设计 483
10.3.3 数据库逻辑结构设计 485
10.4 数据库的生成与配置 487
10.4.1 采用Access数据库 488
10.4.2 采用SQL Server数据库 488
10.5 系统通用功能模块的编写 489
10.5.1 系统结构概览 489
10.5.2 应用程序公共文件global.asa 491
10.5.3 数据库连接conndb.asp 492
10.5.4 检测管理员是否登录CheckLogin.asp 494
10.5.5 站点参数设置config.asp 494
10.5.6 分页模块ShowPage.asp 495
10.5.7 其他公共模块 498
10.6 管理界面设计 498
10.6.1 管理端界面结构设计 498
10.6.2 页面左侧快捷菜单设计 499
10.6.3 企业信息管理模块 500
10.6.4 新闻管理模块 503
10.6.5 产品类型管理模块 514
10.6.6 产品管理模块 515
10.6.7 留言管理模块 523
10.6.8 常见问题管理模块 526
10.6.9 系统管理模块 527
10.6.10 用户登录模块 527
10.7 客户界面设计 528
10.7.1 客户界面结构设计 528
10.7.2 页面头、尾设计 529
10.7.3 页面左侧快捷菜单设计 530
10.7.4 代表企业形象的首页设计 532
10.7.5 企业介绍模块 536
10.7.6 新闻资讯模块 542
10.7.7 产品介绍模块 547
10.7.8 留言本模块 550
10.7.9 客户服务(常见问题)模块 551
10.8 开发难点与技巧 552
10.8.1 仅选择所需的列 552
10.8.2 使用完毕后即时释放资源 552
10.8.3 使用字符串建立SQL查询 553
10.8.4 使用OLE DB驱动 553
10.8.5 强制变量声明 553
10.8.6 程序设计模块化 554
10.8.7 绝不要将数据库连接存储
在Session中 554
10.9 系统移植 555
10.9.1 必须创建ASP应用程序 555
10.9.2 建议将数据库与Web应用程序
分目录存放 555
10.10 小结 555
要点:
* ASP、ASP、PHP比较
* ASP 运行环境配置
* ASP应用系统结构设计
* 数据库设计和开发技巧
* ASP常见错误分析
* 学习建议
预览:
应用程序与普通目录图标的区别
典型的Web应用程序目录结构
要点:
* 常用ASP内置对象
* 使用ADO操纵数据库
* 连接常用数据库的方法
* 常用SQL语句
* 常用的ASP技巧与模块
* 使用Ajax开发关键技术
* 注册域名与发布网站
技巧预览:
* 不要将数据库连接对象存储于Application中
* 避免使用非限定的Request对象
* 当输出较多时,适时使用Flush方法
* 尽可能使用Server.Transfer代替Response.Redirect
* 使用OLE DB驱动程序,使用连接池
* 合理设置参数LockType和CursorType的值
* 在ASP中使用ADO常量
* 通用的分页模块
要点:
* 优化页面设计
* ASP编码优化
* 优化数据库处理
* ASP安全优化
* 微软提高ASP程序性能的28个技巧
技巧预览:
* 可以将访问率高的ASP页面事先输出为HTML页面
* 使用Option Explicit
* 避免在循环语句中使用字符串拼接
* 设置Prepared属性预编译SQL语句
* 使用SELECT语句时仅选择所需的列
* 使用存储过程
亮点:
* 简单易学
* DIV的使用方法
* CSS的使用方法
* JavaScript的使用方法
* 数据集分页功能的实现
* 防止SQL注入的程序设计
简介:
这个就是受到众人喜爱的许愿墙了,程序实现本身很简单,只是因为综合使用了ASP、SQL、JavaScript技术而似乎有些难度。
预览:
许愿墙首页
亮点:
* 新闻以HTML文件存储
* 利用新闻模板自动创建新闻
文件
* 相关新闻
* 新闻评论
* 动态显示推荐新闻
* 动态显示热点新闻信息
* 难度适中,适合读者提高
简介:
修正了V1.0发布以来读者反映的Bug,并会在下一章中看到与新闻采集系统集成,实现自动采集新闻的功能。
扩展:
* 企业新闻系统
* 文档管理系统
* 企业信息发布
* 其他信息发布系统
预览:
实验室新闻系统主界面
后台管理系统界面
系统结构:
新闻模板化示意图
重点:
* Application对象使用方法
* XMLHTTP组件使用方法
* 文章采集的实现原理
* 与上一章新闻系统的集成
简介:
网站没有内容,怎么办?手工录入?太慢了,本章的文章采集系统可以为你轻松搞定。
预览:
添加采集项目
亮点:
* 采用IFRAME、Ajax构建异步响应的客户端界面
* 设计ASP通用组件的思路
* 友好显示用户操作错误信息
* 供网站管理员分析与采集用户操作习惯
* Web 2.0的学习与理解
简介:
你的网站成熟吗?如果你回答是,是否考虑过你的网站具备了对用户操作人性化的提示?作为管理员的你,是否了解用户在你的网站干了些什么?相信在本章中你会找到答案。
预览:
系统登录后主界面
数据分析界面
亮点:
* 功能完备
* 模块化的界面设计
* 软件工程思想
* 使用数据库连接池
* 使用Typelib声明ADO库
* 强制变量声明等
* 注重ASP性能优化
* 穿插了许多ASP技巧
* 技巧性较强,适合有一定基础的读者学习
简介:
你还不知道“特瑞飞手机商城”?那么“百度”一下,你就会知道本系统V1.0当时是多么大红大紫。在修正了读者提出的Bug和增强系统功能后,V2.0终于亮相了。
扩展:
* 网上书店
* 网上音像店
* 在线首饰
* 网上购物
* 其他类似的网上购物系统
预览:
客户端主界面
管理界面订单列表
系统结构:
系统部署解决方案
亮点:
* 模块化设计方法
* 注重了安全性
* 数据库设计规范
* 数据库命名使用简化过的匈牙利命名法
* 租赁分析模块可指导经营
* 难度适中,适合有一定基础的读者学习
简介:
本章代表了一大类租凭系统和借贷系统的实现思路,而且重要的是本系统的技术实现非常值得学习。
扩展:
* 图书借阅系统
* 资料借阅系统
* 固定资产管理系
* 商品管理系统
* 其他类似与物品进、出相关的管理系统
预览:
影片浏览界面
亮点:
* 数据库连接池技术
* 伸缩性强的应用程序结构设计
* 注意安全性
* 模块化设计方法
* 注重性能优化
* 技巧性、实用性较强,适合有一定基础的读者学习
简介:
中小型企业的门户网站几乎是每一个ASP开发都有可能接到的项目。本系统V1.0 发布以来根据读者反映做了许多重要修改,相信你会从此系统中得到更多收获。
扩展:
* 定制自己的企业网站或个人网站
* 新闻发布系统
* 软件下载网站
* 产品发布网站
预览:
代表企业形象的首页
管理员登录后的产品管理界面
系统结构:
客户界面的功能模图
附录A ASP开发常见问题解答 557
A.1 与ASP配置相关的问题 557
A.2 与开发脚本相关的问题 557
A.3 与ASP内置对象使用相关的问题 559
A.4 与数据库相关的问题 561
附录B JavaScript常用功能速查 563
B.1 常用JavaScript内部对象 563
B.2 常用JavaScript内部对象的方法 564
B.3 常用HTML宿主对象 567
B.4 常用HTML宿主对象的方法 567
附录C CSS基础与常用属性速查 571
C.1 CSS基本语法规则 571
C.2 常用CSS样式属性 572