《WEB服务器.ppt》由会员分享,可在线阅读,更多相关《WEB服务器.ppt(84页珍藏版)》请在优知文库上搜索。
1、4. IIS 简介简介 WEB 服务器也称为服务器也称为 WWW 服务器,它是服务器,它是一个软件,主要是提供网上信息浏览服务一个软件,主要是提供网上信息浏览服务 建一个网站,需要安装和配置建一个网站,需要安装和配置 WEB 服务器,服务器,如果想让网站成为如果想让网站成为 Internet 的一个站点,则的一个站点,则还需要一个独立的还需要一个独立的 IP 地址地址 IIS (Internet Information Server) :微软的微软的WEB服务器服务器 在本机调试在本机调试“网络网络”程序,需要安装程序,需要安装 IIS安装安装 IIS 服务器版的服务器版的 Windows 操
2、作系统中,它操作系统中,它是一个可选的安装组件,在一些非服务是一个可选的安装组件,在一些非服务器版的器版的Windows 操作系统中也含有操作系统中也含有 IIS 安装安装 Visual Studio.NET 前必须在你的前必须在你的机器上先安装机器上先安装 IIS IIS 安装过程中自动配置安装过程中自动配置 WEB 服务器,服务器,一般一般不要更改不要更改系统默认的配置系统默认的配置 ,以免,以免影响影响 ASP.NET 的运行的运行 。应了解的应了解的 IIS 知识知识网站默认工作目录网站默认工作目录 :C:INTERPUBWWWROOT 浏览器访问浏览器访问 http:/localho
3、st 既访问此路径既访问此路径开发网站时网页文件通常都放在这个目录里开发网站时网页文件通常都放在这个目录里我们建立的我们建立的 ASP.NET 应用程序默认情况下应用程序默认情况下也都放在这个文件夹里。也都放在这个文件夹里。实际开发时经常放在别处,但是要进行设置。实际开发时经常放在别处,但是要进行设置。 Internet 信息服务信息服务控制面板控制面板/管理工具管理工具/Internet 信息服务,可以信息服务,可以打开打开 IIS 的管理工具,对的管理工具,对 IIS 进行管理、配置进行管理、配置有时我们希望将应用程序放在别的目录下,为有时我们希望将应用程序放在别的目录下,为了能找到相应路
4、径,需要建立了能找到相应路径,需要建立虚拟目录虚拟目录 在在 IIS 管理工具中右键单击管理工具中右键单击“默认默认web站点站点”,新建新建/虚拟目录虚拟目录 ,根据向导选择相应目录即可,根据向导选择相应目录即可此时浏览器访问此时浏览器访问 http:/locaohost/虚拟目录名虚拟目录名/文件名文件名 既可访问此站点。既可访问此站点。5. 一个简单的一个简单的 ASP.NET 程序演示程序演示 创建一个创建一个 ASP.NET Web 应用程序应用程序 注意应用程序默认的创建位置:注意应用程序默认的创建位置:http:/localhost/WebApplication1 可以修改项目名
5、称可以修改项目名称 WebApplication1 如果创建到其他目录下,需要设置如果创建到其他目录下,需要设置虚拟目录虚拟目录项目创建后,出现一个空白项目创建后,出现一个空白 web 窗体,同窗体,同时在时在“解决方案管理器解决方案管理器”中,有一个中,有一个Default.aspx 文件文件 ,注意窗体下方的,注意窗体下方的“设计设计”与与“源源”标签,切换一下看看效果标签,切换一下看看效果一个简单的一个简单的 ASP.NET 程序演示程序演示在在“解决方案管理器解决方案管理器”中点图标中点图标“显示显示所有文件所有文件”,可以看到更多的文件,可以看到更多的文件在编写在编写 web 程序时
6、,程序时,IDE 生成了下列文生成了下列文件:件: Default.aspx :HTML文件文件 Default.aspx.cs、Default.aspx.designer.cs:程序源代码文件。程序源代码文件。打开文件看看打开文件看看 .NET 编译程序只编译程序源代码文件编译程序只编译程序源代码文件一个简单的一个简单的 ASP.NET 程序演示程序演示摆放一个文本框,一个标签,一个按钮摆放一个文本框,一个标签,一个按钮添加按钮单击事件处理函数,在事件处添加按钮单击事件处理函数,在事件处理函数内加一行代码:理函数内加一行代码:TextBox1.Text=“HELLO!”;编译,运行编译,运行
7、 在运行的网页上查看原代码,和初始的在运行的网页上查看原代码,和初始的HTML 文件比较一下文件比较一下代码分析代码分析 HTML 代码代码Default.aspxRow 1: 处理该文件所需处理该文件所需信息,其中几个关键:信息,其中几个关键:language: C#Codebehind: 对应的后置文件对应的后置文件AutoEventWireup = “false” :由由IDE自动生成自动生成事件代理事件代理Inherits : 继承后置文件的类继承后置文件的类代码分析代码分析HTML 代码代码Row 3: 文档类型说明文档类型说明Row 5-最后最后: 都是常见的标准都是常见的标准 H
8、TML 标记标记但是对于我们添加到页面的控件,其标记但是对于我们添加到页面的控件,其标记都是都是 的形式。的形式。该标记表明使用的是该标记表明使用的是 ASP 控件控件其实我们仍然可以在页面中使用标准的其实我们仍然可以在页面中使用标准的 HTML 页面元素。页面元素。试一下:在工具箱中展开试一下:在工具箱中展开 HTML 项,拖一项,拖一个文本框到页面中,再看看代码的变化。个文本框到页面中,再看看代码的变化。代码分析代码分析HTML 代码代码另外你会发现,另外你会发现,ASP 控件中都有一句控件中都有一句 runat = “server” ,表明这些控件是在服务器端执,表明这些控件是在服务器端
9、执行的。行的。实际上,每一个实际上,每一个 ASP.NET 控件都对应一个控件都对应一个 HTML 元素(控件),具体对应什么类型的元素(控件),具体对应什么类型的控件取决于浏览器和控件取决于浏览器和 web 控件参数的设置控件参数的设置当服务器返回页面到客户端时,发送回来的当服务器返回页面到客户端时,发送回来的都是都是 HTML 元素。元素。代码分析代码分析后置代码后置代码名字空间名字空间System.Web:管理客户请求和服务器响应管理客户请求和服务器响应的类的类System.Web.UI:创建创建 web 应用和控件的所应用和控件的所需的类需的类System.Web.UI.WebCont
10、rols:web 控件控件System.Web.UI.HtmlControls:HTML控件控件代码分析代码分析后置代码后置代码执行过程执行过程首先发生首先发生 init 事件,调用事件,调用 OnInit 方法方法OnInit 方法调用方法调用 InitializeComponent 方法对方法对组件进行初始化组件进行初始化然后发生然后发生 Load 事件,调用事件,调用 Page_Load 方法,方法,可在该方法中添加代码,处理装入可在该方法中添加代码,处理装入 Form 时时执行的操作执行的操作注意注意:每次加载此页都会执行该代码,如果:每次加载此页都会执行该代码,如果想只在第一次加载时
11、执行代码,需要添加控想只在第一次加载时执行代码,需要添加控制代码(后面介绍)制代码(后面介绍)ASP.NET 应用程序和网站的区别应用程序和网站的区别新建一个网站项目的时候,有两个选择:新建一个网站项目的时候,有两个选择:新建网站新建网站和和新建新建 A Web应用程序应用程序。它们都可以用来开发它们都可以用来开发 Web 应用,但是开发应用,但是开发时及今后的维护方面有一些差异。时及今后的维护方面有一些差异。简单看,小型应用用网站方式比较简单,简单看,小型应用用网站方式比较简单,大型项目用大型项目用 Web 应用程序较好。应用程序较好。新建网站新建网站:完成后可直接发布,发布时生:完成后可直
12、接发布,发布时生成的成的DLL文件名是随机的,不与原文件直文件名是随机的,不与原文件直接对应。使用增量编译模式,文件被修改接对应。使用增量编译模式,文件被修改后,只有这部分才会被增量编译进去后,只有这部分才会被增量编译进去 。ASP.NET 应用程序和网站的区别应用程序和网站的区别Web应用程序应用程序:有重新生成和发布两项有重新生成和发布两项 可在其中添加多个项目,便于团队合作可在其中添加多个项目,便于团队合作开发模式和开发模式和 Windows 应用程序类似应用程序类似发布前需要编译发布前需要编译后台代码有任何修改,都要重新进行编后台代码有任何修改,都要重新进行编译,维护较麻烦。译,维护较
13、麻烦。6. Web 控件与控件与 HTML 控件控件Web控件控件是是 System.Web.UI.WebControls 名名称空间中定义的服务器控件,它们通常在称空间中定义的服务器控件,它们通常在标签中添加标签中添加例如:例如: HTML控件控件在在 System.Web.UI.HtmlControls名称空间中,它们在常规的名称空间中,它们在常规的 HTML 标签中添标签中添加。例如:加。例如:HTML 控件默认是控件默认是客户端运行客户端运行。如果为它也加一句如果为它也加一句 runat=“server” 会怎样?会怎样?可以看看自动生成的代码是否有变化?可以看看自动生成的代码是否有变
14、化?Web 与与 HTML 控件的差异控件的差异HTML 控件:不具备任何抽象能力。每种控件:不具备任何抽象能力。每种控件与控件与 HTML 标记都是一一对应的。标记都是一一对应的。Web控件:运行在控件:运行在Web服务器上,允许通过服务器上,允许通过编程控制这些网页元素,故它的目标模型不编程控制这些网页元素,故它的目标模型不受受 HTML 语法的限制。语法的限制。Web 控件创建了更高级别的抽象,可以没有控件创建了更高级别的抽象,可以没有任何对应的任何对应的 HTML 标记(如标记(如 Calendar 和和 DataGrid 控件)。控件)。 Web 控件还能够在适当控件还能够在适当的场
15、合起到合并功能的作用(例如用一个的场合起到合并功能的作用(例如用一个 TextBox 控件来代替多个控件来代替多个HTML标记)标记) (1) 抽象能力抽象能力(2) 对对目标浏览器的适应能力目标浏览器的适应能力 HTML 控件不会自动检测请求页面的浏览器控件不会自动检测请求页面的浏览器的能力,也不会修改它们提供的的能力,也不会修改它们提供的 HTML。在在使用这组控件时,你要负责确保页面能同时使用这组控件时,你要负责确保页面能同时在高级和低级浏览器上工作。在高级和低级浏览器上工作。Web 控件能够自动对它们生成的结果进行调控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级
16、浏整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。览器上的工作同样出色。Web 控件还能够针控件还能够针对不同的浏览器提供不同的行为,从而充分对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。发挥浏览器的潜力。 (3) 程序员对生成的程序员对生成的 HTML 的控制能力的控制能力HTML 控件允许您完全控制所显示的内控件允许您完全控制所显示的内容以及发送到客户机浏览器的内容。容以及发送到客户机浏览器的内容。Web 控件提供了更为丰富的对象模型,控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控们没有提供对输出结果的相同程度的控制能力。制能力。 在开发在开发 Web 应用程序时,可以根据这两组应用程序时,可以根据这两组控件的能力以及您的需求来从中进行选择。控件的能力以及您的需求来从中进行选择。还可以选择在同一页上混合使用这两组控件还可以选择在同一页上混合使用这两组控件一般来说,一般来说,Web控件功能更强大,而控件功能更强大,而HTML控件效率更好。控件效率更好。同时提供具有一些重复功能的