出版时间:2008 出版社:清华大学出版社 作者:韩国峰 页数:592
Tag标签:无
前言
嘿,您好,我叫韩国峰,生于二十世纪八十年代。在我写这本书的时候,有一个热门词汇叫做“八零后”。而我,则可以被称为一个“八五后”的IT写手。在2002年的时候,我开始学习ASP,到如今算来已经有六个年头了。在我学习ASP的时候,使我迷茫的往往不是ASP的技术上的问题,而是,ASP究竟、是否、还能够“走多远”。网上不乏有文章说到“ASP已经到了其末路,而微软以ASP.NET来取代了ASP”、“学习ASP没有前途,也没有‘钱途’”。当然,我们不能完全地否认这些观点,尤其是当我们面对很现实的问题——很多ASP程序员的工资相对.NET程序员来说还比较低(很遗憾这一点,如果您是这其中的一员,我强烈的建议您读读这本书,因为,这本书有可能会让您的老板对您刮目相看并提高您的工资)。我窃以为,ASP还是可以存活相当长一段时间的。ASP、PHP、ASP.NET、JSP它们各有各的特色所在,这也就是为什么不能简单的说ASP.NET是ASP的简单升级了(在开始的时候,ASP.NET还叫做ASP+)。ASP.NET和JSP更偏重于企业化的开发,它们更强调一些面向对象的特征以及代码的模块性、协同工作性和开发效率。而PHP也被众多大型的网站所采用,首先,PHP一般部署在开源免费的Linux平台上,这可以降低企业的成本。那么我们的ASP呢,我认为,ASP是初学者学习网站编程的一个很好的起点。有人将ASP比作自行车,非常容易上手,放在家里,随便去哪里都可以骑,相比ASP.NET这辆汽车,会让您少面对很多问题,譬如堵车:)。的确是这样的,试想,编写一个小型的网站,我们的确可以使用ASP来快速的完成工作,熟练的程序员利用自己的代码库,也许在ASP.NET程序员还没有建立好“网站解决方案”之前就完成了大多数的编码(一个夸张的比喻)。而ASP相对于.NET来说,没有将大多数的HTTP往来操作细节以服务器端控件的形式予以隐藏(即POSTBACK的思想),因此,学习ASP更利于对网站编程中的客户端与服务器端的交互进行更好的理解。当然,纸上谈来终觉浅,觉知此事要身躬。既然看到了这本书,您不妨就将它认真的读下去,以后有机会和其他的网页编程方案进行比较时您会有更多的体会。下面来谈谈如何学习网站编程。网站编程的学习不是一个孤立的过程,其中诸如语法这样的编程本身的问题只是一个方面,如果说像ASP.NET这样的技术可以将网站编程的各个环节有效分开的话,那么对于学习ASP而言,您就要解决更多的问题,这并非是麻烦,而是要求您学习、了解更多的知识。首先,您需要对什么是网站这样一个问题有自己的认识。您在平常上网时,打开页面需要点击链接、注册用户需要提交表单,而现在您有一个机会来自己做这样一个东西。具体如何做,在书中我将为您一一道来。就做网站而言,有很多常见的任务:它们的算法是怎样的、数据结构是如何设计的、数据是如何存储的,这些是您需要在制作网站中自己理解和总结的。举一个简单的例子,今天在论坛上看到有朋友问,像校内网里面和好友打招呼这样的操作是如何完成的,可能在一般人眼里,这个功能很复杂,当您点击“打招呼”按钮的时候,是不是直接向对方的浏览器传递一条信息呢?不是的,这仍然还是一个最简单的数据存储,当点击“打招呼”按钮时,不过是将相应的数据存到数据库中,当对方浏览页面时再取出这个信息,并加入提示。有大量类似的操作其数据的存储和使用方式都是一样的,比如论坛短消息等,这种举一反三的能力是至关重要的。当您对诸如此类的网站基本任务都有所了解和研究后,语言本身可能就不会是重点问题了,无论用ASP、PHP、.NET都是可以实现的。其次,对于客户端编程技术,我们也应当有些了解,在服务器端用ASP的环境来编程,而在客户端,我们一般采用JavaScript来进行编程。由于对用户体验和Ajax的狂热,JavaScript近年来地位大大提高,它对于服务器端的程序会有很大的辅助作用,甚至在某些特殊情况下,能够减少90%的服务器端代码。另外,熟知符合Web标准的HTML和CSS也会让您的服务器端代码省却很多工作,比如最简单的,在商城网站的设计中,每一行需要放三个商品图片,通常用表格布局时您需要判断是否到达指定数量,需要输出结束一行表格的代码,而使用符合Web标准的代码,即使用这样的代码,您可以在CSS中轻松控制每个图片的宽度高度,多出的图片会自动排版到下一行。最后,就是职业生涯的问题了,如果您不想一直闷头于天天写重复的代码,那么我有两个建议:第一,您可以通过学习设计模式、敏捷开发一类的知识,来学会对项目进行总体规划,进而学习项目管理的知识,了解如何带领团队开发出脍炙人口的网站;第二,您可以了解网站推广、网络营销的知识,从商业角度来看待网站开发的工作。在以往的书籍写作中,由于出版社的出版要求不同,我在写作时,更多的采用严肃认真和教材一样的风格,而在这本书,感谢陈冰老师给了我一个机会,采用与以往完全不同的风格来进行写作。在这本书里,更多的,我想和您以聊天一样的自然语言来讨论ASP的学习。“聊天”是否会使得我的写作不认真呢,当然不是。在写作之前我就了解到,陈冰老师是一个对自己策划的图书非常严格甚至出了名的苛刻的编辑。在写作这本书中我也始终惴惴不安。所以,我力图使得我的书能够对您有最大的帮助。我刚才说了,这本书与我以往,甚至与您所看到的大多数技术书籍,风格不同,这个风格也不止体现在语言上,很多时候也体现在内容中。作为草根派的我,并不愿意在自己的作品中太多的用教条的方式来讲解整整一本书的理论,我希望将我这几年来开发ASP的方法、技巧和感想与您分享。所以,对于本书中讲解理论的部分,您应当更加重视,这是因为,这些理论是我从大量的技术文档中提炼出来的一些自己认为比较有用的内容,希望可以让您的学习事半功倍。当然,我强烈建议您在阅读本书前,从网上找到相应的语法手册作为参考和补充(提示:上Google搜索“VBScript手册”、“SQL手册”等)。另外,我活跃在在蓝色理想论坛上,在后台数据库编程版面,曾经参与过很多的讨论,也解答了各个阶段的从事ASP的朋友们的上千个问题,通过对这些问题的总结,我也希望在本书中能够尽量扫清您在初学ASP时的障碍。而在实例部分,您可以了解到我的一些开发思想。开发思想是无所谓完全正确或者错误的,您可以带着疑问和批判的眼光来看,同时也欢迎和感谢您对我的书中的内容提出质疑,这个时候请您发邮件给我,我们进行讨论,并共同进步。在本书中您只能学到ASP以及网站编程的知识吗?不是的。正如我上面谈到的,如果您想比其他的程序员更进一步的话,那么我认为您还有很多与ASP相关联的知识要学习。本书的一个特色就是,我为您提供了对于一个网站的完整的解决方案的讲述,这里面还包括了网页的制作(我更偏向于使用最近比较流行的DIV+CSS方式),简单的客户端脚本的开发(例如JavaScript,书中我将帮助您完成使用JavaScript的流行框架——Prototype库来完成这些工作)。另外,我所学的专业是电子商务,我希望能够在我的专业范围内,对于网站的运营和网络营销这些知识给您一些帮助。这本书的写作,是从2007年2月开始的,写了七、八个月完成了初稿之后,又在陈冰老师的悉心指导和批评下,进行了长达四个多月的修改,经过出版社的层层把关,最终呈现在您的面前。这不是我出版的第一本书,然而我可以肯定,这绝对是我截止到目前,写的最认真的一本书。我学习ASP已经有六个年头了,我非常希望能够把我这六年的经验和感想做一个总结,算作自己在ASP的路上的一个里程碑,感谢出版社和读者给我的这个机会。听我絮叨的“自吹自擂”了这么长时间,现在您可以泡一杯清茶,坐在电脑旁,翻开这本书,来迈出ASP网站编程的第一步,我们将在书中继续聊,如果聊得还不尽兴,您可以发送邮件到hanguofeng@yeah.net来联系我。最后,我对给予我指导的前人的著作和作者表示深深的感谢,他们的著作指引许多人入门直至成为专家。对网上热心的教程写作者进行感谢,他们默默无闻、不计报酬的传播知识的态度令人敬佩。对我的家人和朋友,尤其是我的母亲表示歉意和感谢,他们对我写作本书时的“躲进小楼成一统”一直包容和体谅着。
内容概要
ASP是Active Server Pages的简称,它是一种经典的网站编程环境,使用ASP你可以利用运行环境提供的功能来完成一个动态网站的开发。Access和SQL Server都是知名的数据库解决方案,它们为网站运行所必须的数据提供了容器。 本书基于如上三个核心,深入浅出地阐述了使用ASP进行动态网站开发的基本知识和开发技巧。在这本书中,作者不仅讲述了语言本身,还大大拓展了语言之外的东西,譬如对如何用全局的观点进行系统设计开发、网站的运行效率和健壮性,甚至如何利用网站进行营销等等这些内容都一一进行了详述。全书语言风趣幽默、通俗易懂,全书贯穿大量精心设计的范例,对难点、疑点的讲解极为透彻,让你迈入ASP学习的第一步直至攀上网站开发及运营的珠穆朗玛峰。 本书的另外一个特色就是不仅讲解ASP本身,同时还讲解了前台脚本——JavaScript和符合Web标准的网站设计知识,让你了解前台和后台是如何进行绝妙搭配的。
作者简介
韩国峰(网名玄猫),互联网草根派,个人站长。研究网站制作、网站经营和推广多年。
一直使用ASP作为主要工作语言,熟练使用ASP、JavaScript进行符合Web标准的网站开发。自行设计并开发了多个网站系统和基于B/S的管理信息系统。曾经作为网站安全审计工程师混迹于民间网络安全界。在自学网站编程中摸索出一条可行、快速的方法。
自由撰稿人,撰写和翻译了很多技术文章发布于网上。对电子商务、网络营销、用户行为、设计模式感兴趣。目前关注敏捷网站开发、关系网络的营销和推广,以及新经济下的互联网营销模式。
书籍目录
第1章 开启ASP网站编程的大门 1.1 什么是ASP 1.2 ASP可以做什么 1.3 安装运行ASP的环境——IIS 1.4 创建你的第一个ASP站点——IIS的相关配置 1.5 为网站增加数据库支持——安装Access 1.6 使用ASP的轻量级数据库软件Access 1.6.1 创建Access数据库和数据表 1.6.2 在Access中导入数据 1.6.3 使用Access的技巧 1.6.3.1 压缩和修复数据库 1.6.3.2 为数据库加入密码 1.7 为网站增加企业级数据库应用——安装SQL Server 1.8 使用企业级数据库应用软件SQL Server 1.8.1 在SQL Server Management Studio中创建数据库和数据表 1.8.2 在SQL Server Management Studio中备份和恢复数据库 1.8.3 应用SSIS进行数据的导入导出 1.9 其他解析环境的配置 1.9.1 解析环境的原理 1.9.2 NetBox简介 1.9.3 NetBox的安装和配置 1.9.4 ASP Web Server简介 1.9.5 ASP Web Server的安装和配置 1.10 选择一个顺手的开发工具 第2章 ASP的编程特性—— VBScript语法 2.1 VBScript语法初窥 2.2 如何学习ASP 2.3 初学语法第零步:我将如何开始 2.4 初学语法第一步:数据处理——VBScript的变量、常量与数据类型 2.5 初学语法第二步:计算、比较和逻辑——VBScript的运算符 2.6 初学语法第三步:流程控制——VBScript的流程控制语句 2.6.1 条件判断语句 2.6.2 循环语句 2.7 初学语法第四步:函数——VBScript的函数 第3章 ASP的网站特性——内部对象和常见组件的使用 3.1 输出信息用的Response对象 3.1.1 Response对象简介 3.1.2 Response对象的方法、属性和集合 3.1.3 小案例——使用循环和Response制作出生日期选择组控件 3.2 获取信息用的Request对象 3.2.1 Request对象简介 3.2.2 Request对象的方法、属性和集合 3.2.3 小案例——用Cookies记住访问者的名字 3.3 会话期间信息存储的Session对象 3.3.1 Session对象简介 3.3.2 Session对象的方法、属性和集合 3.3.3 小案例——用户登录模块 3.4 应用程序生存期间信息存储的Application对象 3.4.1 Application对象简介 3.4.2 Application对象的方法和集合 3.4.3 小案例——Application制作的简单聊天室 3.5 服务器功能的Server对象 3.5.1 Server对象简介 3.5.2 Server对象的方法和属性 3.6 加强ASP的功能——ASP的常用组件简介 3.6.1 使用FileSystemObject组件读取和编辑文件 3.6.1.1 使用FSO读取文本文件的页面read.asp 3.6.1.2 使用FSO保存文件的页面save.asp 3.6.1.3 关于FSO,我还有要说的 3.6.2 使用Jmail组件发送邮件 3.6.3 使用AspJpeg组件编辑图像——创建一个图片的缩略图 3.7 特殊的ASP文件——Global.asa 3.7.1 Global.asa文件简介 3.7.2 利用Global.asa制作在线人数计数器 3.8 ASP开发的规范浅谈 第4章 数据访问的语言——SQL语法与ASP数据库访问 4.1 数据库的历史探索和前景 4.2 什么是SQL语言 4.3 在哪里执行SQL语句 4.4 选取记录的语句——SELECT语句 4.4.1 SELECT语句的基本结构 4.4.2 WHERE子句 4.4.3 ORDER BY子句 4.4.4 其他子句 4.4.4.1 选取谓词 4.4.4.2 分组语句GROUP BY 4.4.4.3 条件筛选语句HAVING 4.5 插入记录的语句——INSERT语句 4.6 更新记录的语句——UPDATE语句 4.7 删除记录的语句——DELETE语句 4.8 ASP进行数据库访问的方法 4.8.1 数据访问组件——ADO 4.8.2 与数据库进行连接 4.8.3 执行SQL命令 4.8.4 你的第一个ASP操作数据库的程序——进行查询并得到记录集 4.8.5 使用ADO插入、更新和删除记录 4.8.6 对“使用ADO插入、更新和删除记录”的思考 4.8.7 Open方法的常用参数——游标类型和锁定类型 4.9 我还有话要说 第5章 使用JavaScript框架丰富你的网站 5.1 什么是JavaScript框架 5.2 主流JavaScript框架介绍 5.3 如何开始使用Prototype框架 5.4 使用Prototype框架简化JavaScript编写 5.4.1 $()函数——获取一个DOM元素 5.4.2 $F()函数——获得网页上表单元素的值 5.4.3 document. getElementsByClassName()方法——获得指定CSS名称属性的对象集合 5.4.4 Element.hide/Element.show方法——隐藏/显示页面上的对象 5.4.5 Element.toggle方法——改变对象的显示/隐藏 5.5 什么是Ajax 5.6 使用Prototype框架引入Ajax功能 5.6.1 你的第一个Ajax程序——使用Ajax.Request类 5.6.2 Ajax对象的属性详解 5.6.3 Ajax.Updater类——一个输入学号获得姓名的例子 5.7 使用script.aculo.us效果库——增强用户体验 5.7.1 script.aculo.us是什么 5.7.2 如何开始使用script.aculo.us效果库 5.7.3 script.aculo.us的页面效果及其运用 5.7.4 script.aculo.us的页面控制组件及其运用 5.8 我还要说的话 第6章 迈出你的第一步——留言本实例 6.1 必要的准备——案例分析 6.2 系统的设计 6.3 数据库设计 6.4 数据库链接文件 6.5 显示留言页面功能 6.6 添加留言功能 6.7 管理员登录部分 6.8 改进留言显示以引入管理功能 6.9 回复留言功能的设计制作 6.10 删除留言功能的设计制作 6.11 我还有话要说 第7章 长尾经济学的网站体现 ——贴吧实例 7.1 贴吧网站的特色模式分析——长尾和用户操作简便性 7.2 贴吧实例系统分析 7.3 贴吧数据库分析和制作 7.4 准备工作——公用模块的编写 7.4.1 数据库链接文件 7.4.2 函数库文件 7.4.3 网页头部和尾部 7.4.4 JavaScript文件 7.5 贴吧主线——系统首页、帖子列表和帖子 7.5.1 系统首页 7.5.2 帖子列表 7.5.2.1 读取基本信息和生成相应SQL语句部分 7.5.2.2 显示页面头部部分 7.5.2.3 输出帖子列表及分页导航部分 7.5.2.4 显示发帖表单部分 7.5.3 为你的程序加入验证码 7.5.4 贴吧主线——发布帖子 7.5.5 贴吧主线——浏览帖子 7.5.6 贴吧主线——发布回复 7.6 用户部分 7.6.1 用户注册 7.6.2 在ASP中使用正则对象对用户输入进行检查 7.6.3 用户登录退出 7.7 管理部分 7.7.1 贴吧公告管理 7.7.2 贴吧帖子和回复管理 7.7.3 系统管理 7.8 补充知识:关于Dreamweaver CS3中的Spry脚本库 7.9 我还有话要说 第8章 有“Web 2.0特色”的网站——图片分享 8.1 Web 2.0的狂潮 8.2 JavaScript——凭谁问“尚能饭否” 8.3 分享的快乐——我看分享类网站 8.4 图片分享系统分析 8.5 数据库设计 8.6 通用模块设计 8.6.1 数据库链接 8.6.2 函数库 8.6.3 显示样式 8.6.4 JavaScript文件 8.7 公用页面元素 8.7.1 头部元素_head.asp 8.7.2 尾部元素_foot.asp 8.7.3 侧边栏_sidebar.asp 8.8 用户模块 8.8.1 用户注册 8.8.2 使用MD5对用户密码进行加密 8.8.3 用户登录 8.8.4 用户密码找回——原理与实现 8.8.5 用户资料修改 8.9 图片上传模块 8.9.1 upload.asp文件 8.9.2 新建相册的弹出窗口 8.9.3 网站文件上传原理 8.9.4 Upfile.asp文件——在ASP中上传文件 8.9.5 补充知识:上传漏洞简介 8.10 图片浏览和编辑 8.10.1 系统首页 8.10.2 图片列表浏览 8.10.3 图片详情列表浏览 8.10.4 图片编辑 第9章 网上的新家——博客系统制作 9.1 博客改变世界 9.2 博客系统的新关键词 9.2.1 Trackback 9.2.2 RSS 9.3 博客系统分析 9.4 数据库设计 9.5 补充知识:编写你的ASP类文件 9.5.1 什么是“类” 9.5.2 如何编写和使用“类” 9.5.2.1 如何创建一个类 9.5.2.2 变量声明 9.5.2.3 类的方法 9.5.2.4 类的属性 9.5.2.5 类的事件 9.5.2.6 如何使用类 9.5.3 数据库操作类 9.5.4 缓存类 9.6 通用模块设计 9.6.1 公用配置文件config.asp 9.6.2 函数库 9.6.3 JavaScript文件 9.6.4 头部元素_head.asp 9.6.5 尾部元素_foot.asp 9.6.6 侧边栏元素_sidebar.asp 9.7 浏览模块 9.7.1 浏览日志列表 9.7.2 浏览单篇日志 9.7.3 使用Ajax载入和发表日志评论 9.7.4 支持用RSS输出日志更新信息 9.8 日志管理部分 9.8.1 日志发表 9.8.2 日志管理 9.8.3 日志分类管理 9.9 友情链接部分 9.9.1 友情链接显示 9.9.2 友情链接分类管理 9.9.3 友情链接管理 9.10 留言部分 9.10.1 留言显示 9.10.2 发表留言 9.10.3 留言管理 第10章 电子商务系统——网上商店 10.1 什么是电子商务 10.2 网上商店系统分析 10.3 使用Access 2007数据库 10.3.1 安装Office 2007 10.3.2 ASP与Access 2007 10.4 数据库设计 10.5 通用模块设计 10.5.1 函数库 10.5.2 JavaScript文件 10.5.3 购物车类的设计 10.5.4 浏览记录文件visitTrace.asp 10.5.5 头部元素_head.asp 10.5.6 尾部元素_footer.asp 10.5.7 侧边栏元素_sidebar.asp 10.6 商品浏览模块 10.6.1 系统首页 10.6.2 商品列表页 10.6.3 商品详情页 10.7 商品购买模块 10.7.1 商品加入购物车 10.7.2 购物车浏览 10.8 用户模块 10.8.1 用户注册 10.8.2 用户登录 10.8.3 结账 10.8.4 用户订单查看 10.8.5 订单详情查看 10.8.6 付款页面pay.asp 10.8.7 网上支付和支付接口原理 10.8.8 申请云网支付接口 10.8.9 使用云网支付接口 10.8.10 使用财付通支付接口 10.9 后台管理模块 10.9.1 后台设计概述 10.9.2 一种后台管理代码的模板介绍 10.9.3 实践我们的后台模板——商品管理 10.10 我还有话要说 第11章 高效的信息系统——分类信息系统 11.1 分类信息全接触 11.2 我运营分类信息系统的经验 11.3 分类信息系统分析 11.4 使用SQL Server 2005数据库 11.5 数据库设计 11.6 通用模块设计 11.6.1 函数库 11.6.2 JavaScript文件 11.6.3 通用信息调用类 11.6.4 头部元素_head.asp 11.6.5 尾部元素_bottom.asp 11.6.6 侧边栏元素_left.asp 11.7 信息浏览发布模块 11.7.1 系统首页 11.7.2 地区查找 11.7.3 分类查找(信息列表) 11.7.4 信息搜索 11.7.5 信息浏览 11.7.6 信息发布——表单部分的显示 11.7.7 信息发布——处理提交的表单 11.7.8 信息修改 11.8 用户模块 11.8.1 用户注册 11.8.2 用户登录 11.8.3 用户发布信息查看 11.9 管理模块 11.9.1 管理员登录 11.9.2 地区维护 11.9.3 分类维护 11.9.4 信息管理 11.9.5 缓存管理 11.10 我还有话要说 第12章 企业管理信息系统——客户关系管理系统 12.1 什么是客户关系管理系统 12.2 客户关系管理系统在中国 12.3 客户关系管理系统设计 12.3.1 理解B/S体系的应用软件 12.3.2 系统设计 12.4 数据库设计 12.5 通用模块设计 12.5.1 函数库 12.5.2 通用引用文件_inc.asp 12.5.3 菜单导航页面left.asp 12.6 登录/退出模块 12.6.1 使用SQL Server存储过程 12.6.2 使用存储过程处理登录 12.6.3 退出登录 12.7 部门和职员管理 12.7.1 部门管理 12.7.2 职员管理 12.8 客户管理 12.8.1 客户公司管理 12.8.2 联系人管理 12.9 事件管理 12.10 字典管理 12.10.1 什么是“字典” 12.10.2 字典类型管理 12.10.3 字典管理 12.11 我还有话要说 第13章 我还有话要说 13.1 写后感 13.2 一般人我不告诉他 13.3 如何继续 13.4 我推荐的网站 13.5 我推荐的书籍 13.6 如何找到我
章节摘录
第1章 开启ASP网站编程的大门ASP—A small poisonous snake found especially in N Africa.—牛津双解词典1.1 什么是ASP各位亲爱的读者,在我们进行深入的ASP网络编程学习前,我非常希望让你们详细了解到ASP究竟是一个什么东西。当了解了究竟ASP是一个什么样的东西后,将大大有益于您看这本书并且更加深刻的理解我所讲解的语法和例子。ASP是一个缩写词,它的原文是Active Server Pages,中文的意思是活动服务器页面。这个名字非常精确的概括了ASP的特点。让我们来依次看看这三个英文词汇。Active:活动的。Active是ASP的核心所在,“活动的”表明了ASP与静态网页的区别,简单来说,它可以根据各种请求信息的不同,使用某种编程语言进行逻辑判断和处理,与数据库或其他数据存储进行数据交换,返回给用户不同的信息,因此对于ASP这样的服务器端解决方案,我们又称其为“动态网页”,有些人也把它叫做“网站后台”,以区别于“前台”的静态网页。Server:服务器。Server体现了ASP的运行环境制约。普通的HTML页面可以由用户下载至本地,并且可以不需要联网就在用户的计算机上浏览,而ASP页面则不同,ASP需要一个基于服务器的解析环境(如微软的IIS服务器)来处理,如果说“用户得到了ASP页面并打开”,那么有两种可能,第一种是用户得到了由服务器解析完毕的ASP网页内容,此时实际上用户获得的是服务器根据其请求的信息所反馈的静态HTML页面,并不是实际的ASP源代码。第二种是用户真实的下载了ASP源代码,这时如果用户想“看”这个页面的话,他就需要在自己的计算机上建立相应的服务器环境才可以。当然,一般网站是不会使得用户下载到其ASP源代码的,否则网站的信息将被泄露。Pages:页面。Pages体现了ASP的本质,即网页。为什么要说是网页呢,网页其实体现的一个叫做B/S(Browser/Server)的体系,即浏览器/服务器体系。同时请注意我所说的网页是一个复数(pages),即,强调的是若干个页面的集合完成的任务,用比较时髦的话来讲就是网站所需要完成的工作是由各个动态网页在很好的“团队合作”下完成的,至于如何合作,我们先在这里埋下伏笔,后面会详细提到。对上面所说的话进行一个总结,并给出一个概括的含义,即:ASP就是一个运行在特定服务器环境下解析的、可以根据用户不同请求做出不同网页的输入输出系统。那么ASP是不是一门语言呢?非常多的网友曾经这样疑惑过。在这里我做一个分析。网友认为ASP是编程语言的理由主要是将其和PHP、JSP等动态网站解决方案进行类比,从而得出结论。PHP最早是1994年由Rasmus Lerdorf创建的。Rasmus Lerdorf最早的目的仅仅是用来统计他自己网站的访问者。PHP的语法混合了C、Java、Perl以及PHP自创新的语法。而JSP则是属于Sun公司的J2EE,它使用Java语言来编写动态网页程序并编译后使用。而这些情况在ASP中是怎样的呢?确切地说,ASP是微软提供给希望使用动态网页的程序员的一个环境,这个环境允许编程者在服务器上的HTML页面中加入特定的代码,在访问者访问时,ASP的解析环境IIS将读取这些特定的代码,并根据其语言结构进行处理,最终返回给客户经过处理后的HTML信息。之所以在上面提到“特定的代码”,是因为在ASP的设计原则上,可以使用任何语言来完成这些代码,但是微软的ASP解析环境—IIS默认提供了对于两种脚本语言的支持,即VBScript和JScript,VBScript是VB的一个子集,程序员可以使用在VB中已经熟知的代码,来编写ASP动态网页程序。JScript是由微软公司开发的活动脚本语言,是微软对ECMAScript规范的实现。可以这样说,VBScript是类似VB风格的程序,而JScript是类似C语言风格的程序,微软提供了对这两种风格的脚本程序编写的解析,从而使得VB程序员和C程序员都可以快速的上手ASP。再回到我们的话题中,我们称“ASP是一个环境”,这样说其实是非常恰当的,ASP最大的特色在于通过对ActiveX组件的调用增强其原有的功能。就ASP的基本功能来讲,仅提供最基本的HTTP变量的获取和对用户信息的返回以及状态保持等这样简单的基本功能,其对于文件的I/O操作、邮件发送、图像处理都可以通过微软自带或者第三方提供的ActiveX组件来实现。相对于PHP默认提供的对大量常用动态网页所需要使用的函数,ASP采用组件扩展的方案来解决这一问题,是不是说明ASP不如PHP呢?不是的。应该说两者各有特点。1.2 ASP可以做什么我可以负责任的告诉各位读者,ASP可以做的事情远远超出各位的想像。在网上出现了很多文章,说ASP不可以实现某些功能,其实这是不负责任的说法,作为微软提供的已经成熟的运行了多年的动态网页解析环境,ASP3.0可以被称之为最好的动态网页解决方案之一了。另外需要特别说明的是,大家在任何时候都不要忘记ASP最核心的扩展内容:ActiveX组件,试想,如果你可以使用自己所熟悉的任何一种开发工具,使用自己所熟悉的编程语言进行相应的开发、生成ActiveX组件的Dll文件,并在ASP中进行调用,那么还有什么不可以做的呢。具体的归类来说,ASP可以做这些事情:ASP可以获得用户的请求作为ASP最基本的功能,使用ASP可以制作响应用户不同请求,并根据请求给予数据返回的动态网页以及动态网页的集合—动态网站。这些请求主要是指用户显式或者隐式输入的地址栏变量、表单变量和Cookies变量等。打个比方说,我们平常注册电子邮箱,是这样一个过程:首先打开注册页面,你会看到若干个需要填写的信息,例如用户名、密码等,这些需要填写的内容就构成了一个表单,当你填写完毕这些表单并且提交时,你所填写的数据将会传送给动态网页(当然,在这里是指ASP),ASP可以很简单的获得你所填写的数据。ASP可以与几乎所有的数据库进行通讯在ASP获得完毕这些数据后,可以和数据存储—数据库进行一个沟通的操作,比如,ASP会询问数据库,你刚才在表单中所填写的用户名在数据库中是否已经存在了,如果已经存在,那么ASP会根据数据库的返回信息,给用户一个返回重复注册的信息。ASP可以响应用户请求向客户端输出数据在使用ASP向客户端输出数据时,不仅可以输出HTML代码,还可以通过ASP的相关功能来更改响应类型同时输出二进制数据,从而来向客户端输出二进制代码,例如图片、压缩文件等。ASP可以利用服务器的资源进行某些操作ASP可以通过组件在服务器上进行分析和修改图片文件、获取其他网站网页内容以及进行运算等操作。譬如可以通过ASP设计一个在线的网页代理,用户请求某个网页的内容,此时由ASP在服务器上获取远程网页的内容并返回给用户。在上面我提到了从理论角度来讲,ASP可以做的事情,那么,实际上来讲,我们所见到的什么,是动态网页和ASP可以做到的呢?
媒体关注与评论
你应该了解真相,真相会使你自由。 ——《圣经》
编辑推荐
《ASP第一步》语言风趣幽默、通俗易懂,《ASP第一步》贯穿大量精心设计的范例,对难点、疑点的讲解极为透彻,让你从迈入ASP学习的第一步直至攀上网站开发及运营的珠穆朗玛峰。ASP还能存活多久?!学习ASP能比学习ASP.NET多了解些什么!?透彻掌握数据库访问和应用开发。ASP+JavaScript+Ajax+Web标准。在线支付接口的原理、使用与开发。
图书封面
图书标签Tags
无
评论、评分、阅读与下载