WEB应用程序及IIS WEB 服务器介绍

时间:2022-09-17 20:59:20
I.         了解 Web 应用程序
1.      概述
Web 应用程序是一个包含多个页的 Web 站点,这些页可能是静态的 html 网页,也可能是动态的网页(如: ASP.NET JSP PHP 等),所有这些 Web 页均存储在 Web 服务器上,用户通过这些 Web 页与网站进行交互,从而获得自己需要的各种信息和服务。
 
实现一个 Web 站点,通常有多种技术方案可供选择,最常见的有 ASP ASP.NET PHP JSP 四种技术方案。 ASP ASP.NET PHP JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来处理业务逻辑(比如查询数据库等)。 ASP ASP.NET PHP JSP 都提供在 HTML 代码中混合某种程序代码,用户通过浏览器浏览网页时, Web 服务器会调用对应的应用程序服务器执行其中的程序代码,(注:应用程序服务器其实就是一个程序,对 ASP PHP 来说它是一个语言引擎用于解释执行其中的代码,对 JSP 来说,它是一个 JAVA 虚拟机, JSP 程序在第一次执行的时候会编译成一种字节码,执行的时候由 JAVA 虚拟机解释执行被编译好的字节码, ASP.NET 则不是那么简单, ASP.NET 程序编译好以后其实和一个单机版的 .NET 程序没什么不同,都需要一个叫 .NET Framework 东东做支持,这个家伙里面包含了很多的东西, ASP.NET 程序在编译的时候会编译成一种中间语言,然后在第一次运行的时候由 .NET Framework 里提供的即时编译器编译成 CPU 可以执行的二进制代码,并缓存在磁盘上,所以这四种技术里面,只有 asp.net 程序是真正编译执行的,其他的都是解释执行 )最后生成一个标准的 html 文件发回给客户端的浏览器。 ASP ASP.NET PHP JSP 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.      各个方案的对比

各个方案的对比情况参见下表: ( 有些说法是我自己的观点 , 肯定不权威啦 , 但是也不需要深究 , 了解一下就好 , 哪个搞好了 , 都可以吃饭呀 )
  方案
属性
ASP
ASP.NET
JSP
PHP
描述信息
ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
 
ASP.NET是ASP 的后继版本,在先前的文档中被称为ASP+, ASP.NET和它的前期版本都是构建新一代动态网站和基于网络 特别是Internet 的分布式应用的技术。 ASP.NET为网站设计人员和网络程序员提供了更简单快捷的开发方法 ASP.NET向前兼容ASP 运行在.NET Platform上 以前的ASP脚本几乎不经修改就可以在.NET Platform上运行 从而保护了先前的投资
  JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。    
 
  PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)*下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。    
最常见的
配置环境
Windows 200X server OS
IIS6.0 Web服务器
SQL Server 数据库
Windows 200X server OS
IIS6.0 Web服务器
.NET Framework 1.1
SQL Server 数据库
Unix或Linux, windows
Apache Tomcat Web服务器
JDK (Java Development Kit)
Oracle数据库
Linux
Apache Web服务器
MySQL数据库
服务器端
代码语言
VB Sctipt或JScript
C#, VB.NET, Jscript.NET
JAVA
PHP(语法和C差不多)
优点
1.使用脚本语言VB Sctipt或JScript易学易用
2.适合中小企业建立自己的Web应用系统
3.投资费用适中
易学易用,适合中小企业建立自己的Web应用系统
投资费用适中
而且asp.net可以作为掌握.net的一块敲门砖,容易掌握
可以部署在多种平台上,适合做大型的商业网站
功能强大,在java的世界里,java一种语言就可以打天下了,各种程序都可以用java开发
投资费用最低,从操作系统到数据库都是免费的,很多*部门的电子政务平台是用这个搭建的
缺点
只能部署在windows平台上,而且程序代码和HTML代码都写在一个文件里,显的凌乱,而且不利于安全,也没有办法隐藏源代码ASP,本身的功能有限,必须通过ASP+COM的组合来扩充
只能部署在windows平台上
现在.NET程序员很多,想拿高薪就必须要是高手才行.不象c++写上两三年的工资都能拿到5000
投资费用非常昂贵, 动辄上百万,甚至更多,中小企业往往承受不了
很复杂,不容易上手
java程序员也很多,高手才能拿高薪
不是太容易上手,首先环境搭建起来就比较麻烦,而且应用的范围也比较小,还有一点就是PHP只能用来做web程序,没有办法扩充到其他方面,而且没有大公司的支持,基本上没有技术支持
 

 
这里呢,咱们只讨论微软的方案,而且重点讨论 ASP.NET ,虽然现在 Intenet 上还有大量的 ASP 网站,主要的原因是这些网站在开发创建的时候 .NET 还不够成熟,这里的成熟不仅仅指技术方面的,还有开发人员方面的因素,一种技术方案能够在市场上大力的推广,除了技术方案本身的先进性和合理性以外,还必须有一大批优秀的深谙其道的程序员。现在, .NET 不管是技术上,还是开发人员方面,都已经非常成熟了。如果新开发一个 Web 站点,相信会有 95 %(是指在 ASP ASP.NET 二者里选择)以上的人会选择 ASP.NET 。从发展阶段上看, ASP.NET 是从 ASP 发展来的(实际在技术实现上 ASP.NET ASP 是完全不同的两回事,这个以后谈 .NET 基础的时候在详细的讨论),所以简单了解一下 ASP ,有助于对动态网页的理解,也有助于对 ASP.NET 的理解。
 
II.      Web 应用程序如何工作
Web 应用程序是一组静态和动态 Web 页的集合。静态 Web 页是指当 Web 服务器接到用户请求时内容不会发生更改的页, Web 服务器直接将该页发送到请求 Web 浏览器,而不对其做任何处理。相反,在将动态 Web 页发送到请求浏览器之前,服务器将对该页处理,执行嵌在网页里的在服务器端运行的代码,从而动态的生成一个 html 网页,发送给客户端浏览器。
 
首先,我们先了解一下一个完整的 Web 应用程序系统的构成。我们每天都会使用 Web 浏览器(如: IE )上网浏览大量的信息,比如我通过 IE 浏览器发出一个浏览美女(嘿嘿,不要笑话我啊 ^_^ )的申请,那么不久就会有大量的美女图片发送的我的 IE 浏览器里,而不是汽车信息,那么到底是谁在后台为我们提供这些操作呢,这个不辞劳苦任劳任怨可以连续 N*24 小时工作的伟大的幕后者就是 Web 服务器,具体到微软的产品就是 IIS 了。还是画个图吧:
 
1.      处理静态 Web 页
一般的 Web 站点由一组相关的 HTML 页和文件组成,这些页和文件驻留在运行 Web 服务器的计算机上。
Web 服务器是响应来自 Web 浏览器的请求以提供 Web 页的软件。当用户单击 Web 页上的某个链接、在浏览器中选择一个书签、或在浏览器的“地址”文本框中输入一个 URL 并单击“转到”时,便生成一个页请求。
常规 Web 页的最终内容由网页设计人员确定,当接到请求时,内容不发生更改。这里有一个示例:
<html>
<head>
<title>Call Department</title>
</head>
<body>
<strong>Call Department</strong><br>
Talk to someone in Sales.
</body>
</html>
该页的每一行 HTML 代码都是在将页放置到服务器之前由设计人员编写的。因为 HTML 在放置到服务器后不发生更改,所以这种页称为静态页。
备注: 严格来说, “静态”页可能不是完全静态的。例如,一个鼠标经过图像或一个 Flash 影片可以使静态页活动起来。但是,本帮助系统所说的静态页是在发送到浏览器时不进行修改的页。
Web 服务器接收到对静态页的请求时,服务器将读取该请求,查找该页,然后将其发送到请求浏览器,如下图所示: WEB应用程序及IIS WEB 服务器介绍
至于 Web 应用程序,当用户请求页时,代码的某些行尚未确定。必须先由某种机制确定这些行才能将该页发送到浏览器。这种机制将在下一节中进行讨论。
2.      处理动态Web页
Web 服务器接收到对静态 Web 页(就是html页)的请求时,服务器直接将该页发送到请求浏览器,而不进行进一步的处理。当 Web 服务器(比如:IIS)接收到对动态页(这里以asp页做例子吧顺便了解一下,呵呵!)的请求时,它将作出不同的反应:它将该页传递给一个负责完成页面的特殊软件扩展。这个特殊软件叫做应用程序服务器。
应用程序服务器读取页上的代码,并解释执行这些代码,然后将代码从页上删除。所得的结果将是一个静态的 html页,应用程序服务器将该页传递回 Web 服务器,然后 Web 服务器将该页发送到请求浏览器。当该页到达时,浏览器得到的全部内容都是纯 HTML。
一个 asp动态页的例子:
<%@LANGUAGE="JSCRIPT"%>
<html>
<head>
<title> 一个 ASP 页例子 </title>
</head>
<script language="javascript">
// 这里的代码是客户端执行的 javascript 代码
function Hello() 
{
    alert("Hello,world!");
}
</script>
<body onload="Hello()">
<%
    Response.Write("Hello,world!");//<% %> 中间的代码是在服务器端执行的 javascript 代码
%>
</body>
</html>
此图是流程的视图:
  WEB应用程序及IIS WEB 服务器介绍
3.      访问数据库
应用程序服务器使您可以使用服务器端的资源,例如数据库。例如,动态页可以指示应用程序服务器从数据库中提取数据并将其插入页的 HTML 中。
从数据库中提取数据的指令叫做数据库查询。查询是由名为 SQL(结构化查询语言)的数据库语言所表示的搜索条件组成的。SQL 查询被写入页的服务器端脚本或标签中。
应用程序服务器不能直接与数据库进行通信,因为数据库的专用格式所呈现的数据无法解密,这类似于在 “记事本”中打开的 Word 文档无法解密。应用程序服务器只能通过数据库驱动程序作为媒介才能进行通信。数据库驱动程序是在应用程序服务器和数据库之间充当翻译程序的软件。 (asp动态网页是通过微软提供的一个组件ado来访问数据库的)
在驱动程序建立通信之后,将对数据库执行查询并创建一个记录集。记录集是从数据库的一个或多个表中提取的数据子集。记录集将返回给应用程序服务器,而数据将应用到动态页中。
这是一个用 SQL 编写的简单的数据库查询:
SELECT lastname, firstname, fitpoints
FROM employees
该语句将创建一个三列的记录集,并用包含数据库中所有员工的姓、名和健身积分的行填充该记录集。
这是一个对数据库进行查询并将数据返回给浏览器的过程图解:
 
  WEB应用程序及IIS WEB 服务器介绍
 
只要数据库有适当的数据库驱动程序,您的 Web 应用程序几乎可以访问任何数据库。
如果您计划建立小型低成本的应用程序,则可以使用基于文件的数据库,例如用 Microsoft Access 创建的数据库。
如果您计划建立稳定的、对业务至关重要的应用程序,则可以使用基于服务器的数据库,例如用 Microsoft SQL Server、Oracle 9i 或 MySQL 创建的数据库。
如果您的数据库位于 Web 服务器之外的系统上,则应确保两个系统间有快速连接,以便您的 Web 应用程序可以快速有效地工作。 (这段话的意思就是说数据库安装在一台机器上,Web 应用程序安装在另外一台机器上,那么这两台机器之间要能快速的交换数据,这样web 应用程序才能有较高的性能,否则就会慢死了)
 
III.    IIS WEB服务器
默认情况下,不会在 Windows XP Professional 上安装 Internet 信息服务。仅当以前版本的 Windows 上安装了 PWS 时,才会默认安装 IIS 5.1 。可以通过 控制面板 中的 添加或删除程序 应用程序删除 IIS 或选择附加组件。
 
安装 IIS 、添加组件或删除组件
1.        单击 开始 ,单击 控制面板 ,双击 添加或删除程序 启动 添加或删除程序 应用程序。
2.        添加或删除程序 对话框左侧的列中,单击 添加 / 删除 Windows 组件
3.        出现 “Windows 组件向导 后,单击 下一步
4.        “Windows 组件 列表中选中 “Internet 信息服务
5.        单击 下一步 ,然后根据指导进行操作。
 
如果网站包含的某些文件不在主目录中或在其他计算机上,则必须创建虚拟目录将这些文件包含到网站中。要使用其他计算机上的目录,必须指定此目录的通用命名约定 (UNC) 名称,并提供具有访问权限的用户名和密码。
²      创建虚拟目录
1.        开始 菜单,选择 设置 ,然后选择 控制面板
2.        打开 管理工具
3.        打开 “Internet 服务管理器
4.        选择要添加目录的网站或 FTP 站点。
5.        单击 操作 菜单,指向 新建 ,然后单击 虚拟目录
6.        使用 虚拟目录创建向导 完成此任务。
注意     如果使用 NTFS ,也可以用鼠标右键单击 Windows 资源管理器中的某个目录,单击 共享 ,然后选择 “Web 共享 属性页来创建虚拟目录。
²      删除虚拟目录
1.        开始 菜单,选择 设置 ,然后选择 控制面板
2.        打开 管理工具
3.        打开 “Internet 服务管理器
4.        选择要删除的虚拟目录。
5.        单击 操作 菜单,然后单击 删除 。删除虚拟目录不会删除相应的物理目录或文件。
 
IIS windows 平台上的 web 服务器,现在最新的版本是 IIS6.0 ,安装以后在 IE 浏览器里键入: http://localhost/iishelp 可以看到很详细的文档。
 
3.      一个创建asp web站点的例子
1.        C 盘上创建一个文件夹 asp_web_site
2.        然后用记事本创建一个文本文件,并另存为 test.asp 。文件内容如下:
<%@LANGUAGE="JSCRIPT"%>
<html>
<head>
<title> 一个 ASP 页例子 </title>
</head>
<script language="javascript">
function Hello() 
{
    alert("Hello,world!");
}
</script>
<body onload="Hello()">
<%
    Response.Write("Hello,world!");
%>
</body>
</html>
 
3.        用上面的方法创建一个虚拟目录 test_asp ,并将路径指向 C:/ asp_web_site
 
  WEB应用程序及IIS WEB 服务器介绍WEB应用程序及IIS WEB 服务器介绍WEB应用程序及IIS WEB 服务器介绍
 
  剩下的直接选择默认的选项就可以了,简单吧 ^_^
 
4.        IE 浏览器地址栏键入: http://localhost/test_asp/test.asp 就可以看到网页了
  WEB应用程序及IIS WEB 服务器介绍