Lect动态Web页面设计初步final

上传人:cn****1 文档编号:591265141 上传时间:2024-09-17 格式:PPT 页数:116 大小:665KB
返回 下载 相关 举报
Lect动态Web页面设计初步final_第1页
第1页 / 共116页
Lect动态Web页面设计初步final_第2页
第2页 / 共116页
Lect动态Web页面设计初步final_第3页
第3页 / 共116页
Lect动态Web页面设计初步final_第4页
第4页 / 共116页
Lect动态Web页面设计初步final_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《Lect动态Web页面设计初步final》由会员分享,可在线阅读,更多相关《Lect动态Web页面设计初步final(116页珍藏版)》请在金锄头文库上搜索。

1、计算机与计算机与IT入门入门第三讲:第三讲:动态动态Web页面设计初步页面设计初步胡胡 燕燕大连理工大学软件学院大连理工大学软件学院outlinen动态网页简介nASP.NET简介nASP.NET之HelloWorldnCSharp语言基础nASP.NET页面设计要领2网页的工作原理客户端客户端服务器端服务器端发出请求发出请求发回网页发回网页3静态网页的工作原理接受请求找到静态网页发送网页服务器端客户端发起请求(Request)服务器应答(Response)4动态网页的工作原理接受请求找到动态网页发送网页服务器端执行程序代码,生成静态网页客户端发起请求(Request)服务器应答(Respon

2、se)5常见的动态网页设计框架CGIASPPHPJSPASP.NETJ2EE6ASP(ActiveServerPages)n微软公司推出n服务器端:Windows2000+IIS、Windows98+PWS;n客户端:普通浏览器即可7PHPnRasmusLerdorf1994年提出,经过其他人参与,共同开发而成。n服务器端:Unix/Linux/Windows+Apache应用服务器n客户端:普通浏览器。n优点:免费、开放源代码;缺点:缺乏大公司的支持。8JSP(JavaServerPages)n它是由SUN提出,多家公司合作建立的一种动态网页技术。该技术的目的是为了整合已经存在的Java编程

3、环境(例如JavaServlet等),结果产生了一个全新的足以和ASP抗衡的网络程序语言。nJSP将Java程序片段(Scriptlet)和JSP标记嵌入普通的HTML文档。9Web服务器nWeb服务器的概念:Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上。nWeb服务器是动态Web页面程序部署的不可或缺的重要部分之一n典型的Web服务器MSIIS(一般与ASP.NET平台结合使用)Apache(常用于PHP平台)Tomcat(一般与J2EE/JSP平台结合使用).10ASP.NET简介11ASP

4、.NET编程基础.NET NET FrameWorkFrameWork的层次结构的层次结构什么是ASP.NET12ASP.NETnASP.NET不是一门编程语言nASP.NET是微软推出的编写企业Web应用程序的平台,开发者可选择任何与.NET兼容的语言进行开发n用ASP.NET实现的网页的后缀名为.aspx13nASP.NET主要使用的Web服务器Windows自带的IIS(全称是InternetInformationServer)n依靠IIS和.NETFramework,我们才能正确解析.aspx文件ASP.NET使用的Web服务器14ASP.NET平台特性nASP.NET平台通常只能运行

5、于Windows平台之上n开源的Mono项目,它可以让你的ASP.NET运行于各种操作系统平台下.http:/www.mono-15ASP.NET之HelloWorld16ASP.NET之HelloWorldHelloWorld17ASP.NET之HelloWorldHelloWorld18ASP.NET之HelloWorldHelloWorld19usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSyst

6、em.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassHelloWorld:System.Web.UI.PageprotectedvoidPage_Load(objectsender,EventArgse)protectedvoidButton1_Click1(objectsender,EventArgse)lblMessage.Text=HelloWorld!;20CSharp语言基础21名字空间定义及其使用nNamespa

7、ceSystem;nUsingsystem;22C#基本语法n数据类型n标识符n运算符n表达式n语句和注释n流程控制语句23(1)数据类型n值类型基本类型结构类型枚举类型n引用类型对象类型字符串类型类类型接口类型指代类型数组n两者的区别在于进行存取时,值类型的变量直接存储其数据,而引用类型的变量则存储其在系统中对应的存储地址。24数据类型n值类型基本类型n整数类型:sbyte、byte、short、ushort、int、uint、long、ulongn布尔(bool)类型(True|False)n字符(char)类型(注意:转义符)n浮点类型:float、doublen小数(decimal)类

8、型结构类型struct枚举类型enum25数据类型n引用类型对象类型object字符串类型string类类型class接口类型interface指代类型delegate数组26标识符n正确:ahellothis_is_validColorColor1_Color1 n错误:1testColor.testthisisinvalid$testif275.2操作符n算术运算符加+减-乘*整除/取余%n位逻辑运算符位与&位或|非异或28运算符n条件逻辑运算符条件与&条件或|条件非!n自增,自减运算符+-单元运算符在运算数前后含义不同29运算符n移位运算符右移左移=n=n&=n|=n=30运算符n关系运

9、算符等于=不等于!=小于小于等于=n条件运算符a=b?x:y31运算符ntypeof运算符该操作返回一个类型对应的system.typensizeof运算符该操作可获得一个类型所占的空间大小,以字节为单位32表达式n算术表达式n关系表达式n逻辑表达式n赋值表达式33语句和注释n语句是一个基本的指令单位。包括说明语句、表达式语句和流程控制语句等,一般以分号(;)结尾n注释就是在程序中标记、说明某个程序段的作用,它是不会被执行的/单行注释/*多行注释*/34控制语句控制语句n1.选择语句if语句if(表达式)代码1;else代码2;switch语句switch(表达式)case常量1:语句1;br

10、eak;default:语句n;break;35控制语句控制语句n2.循环语句for循环for(for-initializer;for-condition;for-iterator)语句块;while循环while(条件表达式)语句块;do循环do语句块;while(条件表达式);36控制语句控制语句n2.循环语句foreach语句foreach(typeidentifierinexpression)语句块;其中:type表示identifier的类型Identifier表示集合元素的循环变量expression对象集合或数组表达式。37控制语句控制语句n3.跳转语句break语句contin

11、ue语句goto语句return语句38异常处理ntryn/Codethatthrowsexceptionsncatch(OverflowExceptione)n/Catchaspecificexceptionnncatch(Exceptione)n/Catchthegenericexceptionsnnfinallyn/Executesomecleanupcoden39命名空间n什么是命名空间n命名空间(Namespace)是C#用组织程序的,由于使用命名空间可以养活错误和重用代码,而且分层的组织使一个程序的成员传到另一个程序变得更容易,尽管不强制,但良好的编程习惯是创建命名空间,以清楚地识

12、别应用程序的层次。40命名空间n命名空间的声明和调用nnamespace用于声明一个范围。格式如下:namespacenamename1type-declaration其中:name,name1命名空间可以是任何合法的标识符。type-declaration可以声明一个或多个下列类型:另一个命名空间,class,interface,struct,enum,delegate41命名空间n命名空间的声明和调用nusing使用命名空间。格式如下:usingname;using命令可以避免都要写类的全名,因为全名一般都很长。42ASP.NET页面设计要领n内容提要:介介绍绍ASP.NET页页面面的的创

13、创建建,代代码码组组织织方方式式、文文件结构和事件模型。件结构和事件模型。介介 绍绍 ASP.NET的的 内内 部部 对对 象象 Response和和Request及其使用方法。及其使用方法。43创建WebForms什么是什么是 ASP.NETWeb Forms(窗体窗体)? nASP.NETWeb窗体页框架是可以在服务器上用于动态生成Web页的可缩放公共语言运行库编程模型。具体说来,它提供:n创建和使用可封装常用功能的可重用UI控件,并由此减少页开发人员必须编写的代码量的能力。n开发人员以有序的形式清晰地构造页逻辑的能力。n开发工具为页提供强大的WYSIWYG设计支持的能力(现有的ASP代码

14、对工具不透明)。44创建WebFormsnASP.NET Web 窗体页是带窗体页是带 .aspx 文件扩文件扩展名的文本文件。可在整个展名的文本文件。可在整个 IIS 虚拟根目虚拟根目录树中部署它们。当浏览器客户端请求录树中部署它们。当浏览器客户端请求 .aspx 资源时,资源时,ASP.NET 运行库分析目运行库分析目标文件并将其编译为一个标文件并将其编译为一个 .NET 框架类。框架类。此类然后可用于动态处理传入的请求。此类然后可用于动态处理传入的请求。(注意只能在第一次访问(注意只能在第一次访问 .aspx 文件时对文件时对其进行编译,已编译的类型实例可以在多其进行编译,已编译的类型实

15、例可以在多个请求间重用)。个请求间重用)。45创建WebFormsnWebForms的两种代码组织方式1.不使用CodeBehind技术。即页面代码与C#代码混合在一起的形式2.使用CodeBehind技术。页面代码与C#代码分离,这是ASP.NET编程中最常采用的模式46ASP.NET文件的编译与执行本地本地代码代码C# 代码代码Visual Basic .NET 代码代码哪种语言哪种语言?Visual Basic .NET编译器编译器C#编译器编译器MSILJIT编译器编译器1.aspxhtml47ASP.NET的网页代码模型n1.单文件页模型当代码与页面混合在一起的情况下,.aspx页面

16、的代码会形成一个类,其中包含页面内部的处理逻辑System.Web.UI.Page.aspx页面classes一个.aspx实际上是Page类,然后其中包含的代码中包含的程序员定义的其他类,则被会被加载到应用程序域;页面类和应用程序类构成一个类集合(Classes)页面类实例化之后,进行对浏览器的页面响应48单文件页面模型示例案例名称:案例名称:ASP.NET的文件结构的文件结构程序名称:程序名称:hello.aspxstringstrMessage=早上好!;voidPage_Load(Objectsender,EventArgse)Message1.Text=strMessage;49AS

17、P.NET的网页代码模型n2.代码隐藏页模型(CodeBehind)将事务处理代码都发在cs文件中当ASP.NET网页运行的时候,ASP.NET类生成的过程中会先处理cs文件中的代码,然后再处理.aspx页面中的代码代码隐藏(代码分离)的好处:n明确任务分工。可以由美工人员设计.aspx页面,而页面的主要逻辑(.cs部分)由程序员来完成n方便代码和页面维护50ASP.NET文件的结构(代码隐藏)案例名称:案例名称:ASP.NET的文件结构的文件结构程序名称:程序名称:hellocb.aspx51案例名称:基于案例名称:基于CodeBehind技术的技术的ASP.NET的文件结构的文件结构程序名

18、称:程序名称:hellocb.csusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;publicpartialclassHello:System.Web.UI.Pag

19、eprotectedvoidPage_Load(objectsender,EventArgse)Message1.Text=“早上好”;52代码隐藏模型n隐藏模型下的ASP.NET代码运行示例图System.Web.UI.Page.cs页面生成的类classes.aspx页面生成的类页面.cs文件中的代码首先被编译,然后.aspx页面被编译并生成页面对应的类,.aspx页面对应的类与cs文件中的类协调并生成新的类,最后,这些类合起来,用来进行客户端页面的呈现53ASP.NET页面的生命周期n在ASP.NET页面运行的时候,也与类对象一样,有着自己的生命周期n在ASP.NET页面的生命周期内,它

20、将执行一系列的步骤,包括控件的初始化、实例化还原页面状态维护页面状态通过IIS,向客户端呈现HTML54ASP.NET页面的生命周期nASP.NET生命周期中的几个重要阶段页请求。当用户请求一个页面时,ASP.NET决定是否需要分析和编译所请求的页面开始。确定请求属性,根据请求是发回请求还是新的客户端请求,并设置IsPostBack属性。初始化。对页面所使用的服务器空间进行初始化。加载。页面加载控件。验证。调用所有的验证程序控件的Validate方法。回发事件。呈现。下载。55ASP.NET生命周期中的事件n页面加载事件(Page_PreInit)只在发生新的客户端请求的时候才执行用于对页面中

21、的控件进行初始化n页面加载事件Page_Init与Page_PreInit功能类似但是,不能保证完全加载各个控件,因为在进行页面回送的时候,Page_Init依然执行所有的代码n页面载入事件Page_Load在页面加载的时候一定会被执行的事件可以通过IsPostBack变量来判断当前页面是为相应客户端回发而加载,还是页面被首次访问的时候记载n页面卸载事件Page_Unload在页面被关闭的时候,会出发Page_Unload事件56指令语法(一)nPage指令,定义ASP.NET页分析器和编译器使用的页特定(.aspx文件)属性,只能包含在.aspx文件中。语法形式如下:nImport指令,将命

22、名空间显式导入到页中,使所导入的命名空间的所有类和接口可用于该页。语法形式如下:57指令语法(二)nControl指令,定义ASP.NET页分析器和编译器使用的控件特定属性,只能包含在.ascx文件(用户控件)中。语法形式如下:nRegister指令,将别名与命名空间及类名关联起来,以便在自定义服务器控件语法中使用简明的表示法。语法形式如下:58ASP.NET的内部对象对象名说明ASP.NET 类Response提供向浏览器写入信息或者发送指令等功能HttpResponseRequest提供从浏览器读取信息或者取客户端信息等功能。 HttpRequestApplication为所有用户提供共享

23、信息HttpApplicationStateServer提供服务器端一些的属性和方法HttpServerUtilitySession为某个用户提供共享信息HttpSessionStateContext页面上下文对象,使用此类共享页之间的信息HttpContextTrace提供在 HTTP 页输出自定义跟踪诊断消息TraceContext59Response对象对象nResponse对象处理来自服务器端所创建的并发回对象处理来自服务器端所创建的并发回给客户端的信息。它与给客户端的信息。它与Request对象实现了浏览器对象实现了浏览器和服务器的交互。和服务器的交互。Response对象实际上操作

24、对象实际上操作System.Web命名空间中的命名空间中的HTTPResponse对象的对象的实例,实例,HTTPResponse类封装来自类封装来自ASP.NET操作操作的的HTTP响应信息。响应信息。 60属性属性描述描述Buffer获取或取或设置一个置一个值,该值指出是否指出是否缓冲冲输出,并在完成整出,并在完成整个响个响应时间后将其后将其发送送BufferOutput获取或取或设置一个置一个值,该值指出是否指出是否缓冲冲输出,并在完成出,并在完成处理整个理整个页之后将其之后将其发送送Cookies获取响取响应cookies集合集合Cache获取取Web页的的缓存策略(存策略(过期期时间

25、、保密性、保密性、变化子句)化子句)Expires获取或取或设置在置在浏览器上器上缓存的存的页过期之前的分期之前的分钟数。如果数。如果用用户在在页过期之前返回同一期之前返回同一页,则显示示缓存的版本存的版本ExpiresAbsolute设定了定了页面在面在浏览器器Cache中失效的具体中失效的具体时间。Output启用到启用到输出出HTTP响响应流的文本流的文本输出出OutputStream启用到启用到输出出Http内容主体的二内容主体的二进制制输出出61方法方法描述描述BinaryWrite将一个二将一个二进制字符串写入制字符串写入HTTP输出流出流Clear清除清除缓冲区流中的所有内容冲区

26、流中的所有内容输出,但此方法只出,但此方法只删除除Response显示示输出信息,不出信息,不删除除Response头信息信息Close关关闭客客户端的端的联机机End停止当前程序的停止当前程序的处理并返回理并返回结果,剩下的文件内容是没有果,剩下的文件内容是没有处理的理的Flush向客向客户端端发送当前所有送当前所有缓冲的冲的输出出Redirect将客将客户端重定向到新的端重定向到新的URLWrite将信息写入将信息写入HTTP输出内容流出内容流WriteFile将指定的文件直接写入将指定的文件直接写入HTTP内容内容输出流出流62Response对象对象Buffer属性属性Response

27、. Buffer=flag,Buffer属性表示是否对页面属性表示是否对页面输出进行缓冲。如有缓冲,服务器在当前处理的输出进行缓冲。如有缓冲,服务器在当前处理的所有页面上的语句被处理之前不将所有页面上的语句被处理之前不将Response送往送往客户端,除非有客户端,除非有flush或或end方法被调用。参数方法被调用。参数flag表示是否对页面输出进行缓冲,表示是否对页面输出进行缓冲,True为需要,为需要,False表示否,系统默认为表示否,系统默认为True,而,而Response.Clear()常用于清除缓冲区中的所有内容。(例)常用于清除缓冲区中的所有内容。(例) 63Response

28、对象对象nWirte方法方法Write方法输出指定的文本内容,例如方法输出指定的文本内容,例如:Response.Write(“欢迎光临!欢迎光临!”),该方法在前面的例子中已),该方法在前面的例子中已经用到很多,这里不再详细解释。但要注意,在经用到很多,这里不再详细解释。但要注意,在ASP中中Response.Write “欢迎光临!欢迎光临!”是被允许是被允许的,但在的,但在ASP.NET中必须有括号框住,否则会出中必须有括号框住,否则会出错。错。 64Response对象对象nRedirect方法方法该方法可以将用户的页面重定向到一个新的页面,该方法可以将用户的页面重定向到一个新的页面,

29、使用时只要传入一个字符串类型的地址即可,传使用时只要传入一个字符串类型的地址即可,传入在网址后附加参数的地址字符串也可以。该在入在网址后附加参数的地址字符串也可以。该在实现页面转移的过程中很有用。例如:实现页面转移的过程中很有用。例如:Response.Redirect(“http:/”);当;当然在转向的新页面也可以为相对路径的表示。然在转向的新页面也可以为相对路径的表示。 65网页转向案例名称:简化版案例名称:简化版Response.Redirect程序名称:程序名称:test.aspx66Request对象对象Request对象实际上操作对象实际上操作System.Web命名空间中的类命

30、名空间中的类HttpRequest。当客户发出请求执行。当客户发出请求执行ASP.NET程序时,程序时,CLR会将客户端的请求信息包装在会将客户端的请求信息包装在Request对象中。这对象中。这些请求信息包括请求报头(些请求信息包括请求报头(Header)、客户端的基本)、客户端的基本信息(如浏览器类型、浏览器版本号、用户所用的语言信息(如浏览器类型、浏览器版本号、用户所用的语言以及编码方式等)、请求方法(如以及编码方式等)、请求方法(如Post、GET)、参)、参数名、参数值等。所以数名、参数值等。所以Request对象也被称为请求对象。对象也被称为请求对象。67Request对象对象属性

31、属性描述描述ApplicationPath获取被取被请求求页面的目面的目录信息(虚信息(虚拟应用程序根路径)用程序根路径)Brower获取正在取正在请求的客求的客户端的端的浏览器功能的信息器功能的信息ClientCertifacate获取当前取当前请求的客求的客户端安全端安全证书Cookies获取客取客户端端Cookies集合集合Form获取窗体取窗体变量集合量集合Headers返回有关返回有关HTTP报头集合集合IsAuthenticated获取一个取一个值,该值指示是否指示是否验证了用了用户IsSecureConnection获取一个取一个值,该值指示指示HTTP连接是否使用加密接是否使用

32、加密Item获取取Cookies、Form、等集合中指定、等集合中指定对象象Params获取取Querystring、Form项的的组合集合合集合Path获取当前取当前请求的虚求的虚拟地址地址Querystring获取取HTTP查询字符串字符串变量集合量集合ServerVariables获取取Web服服务器器变量集合量集合UserHostAddress获取取远程客程客户端的端的IP主机地址主机地址URL获取取浏览器提交的完整的器提交的完整的URL地址地址68Request对象对象方法方法描述描述BinaryRead执行行对当前当前输入流入流进行指定字行指定字节数的二数的二进制制读取取GetTy

33、pe获取当前取当前实例的例的TypeMapPath为当前当前请求将求将请求的求的URL中的虚中的虚拟路径映射到服路径映射到服务器上的器上的实际路径路径Request对象的调用方法是:对象的调用方法是:Request.Collection“Varible”,其中,其中,Collection包包括括Querystring、Form、Cookies、ServerVariables四四种集合。种集合。 69Request对象对象nQuerystring属性属性请求字符串请求字符串Web浏览器向浏览器向Web服务器传送信息的一种方式,服务器传送信息的一种方式,Querystring属性属性的信息来自于发

34、出请求的的信息来自于发出请求的URL地址中地址中“?”后面的数据,这些数据称为后面的数据,这些数据称为“URL附加信息附加信息”。例如。例如http:/localhost/Queststringtest/webform1.aspx?name=wang”,在该在该URL中,中,name=wang是浏览器向是浏览器向Web服务器传送的信息,获取这个信息的语句是:服务器传送的信息,获取这个信息的语句是:Request.Querystring“name”。 Querystring主要用于收集主要用于收集HTTP协议中的协议中的GET请求发送的数据,如果请求发送的数据,如果在一个请求事件中被请求的程序在

35、一个请求事件中被请求的程序URL地址出现了地址出现了“?”后的数据,则后的数据,则表示此次请求方式为表示此次请求方式为GET。GET方法是方法是HTTP中默认请求方法最常中默认请求方法最常用的超文本链接便是通过用的超文本链接便是通过GET方法发送请求。如:方法发送请求。如:则表示显示则表示显示ID为为111的文章。当有多个信息的文章。当有多个信息时,信息间用时,信息间用“&”连接。连接。 70Request对象对象nForm属性属性Form属性是表示表单变量的集合,通过属性是表示表单变量的集合,通过Request对象的对象的Form属性可以读取浏览器发送到服务器的数据。属性可以读取浏览器发送到

36、服务器的数据。GET方方法是将传递的数据追加至法是将传递的数据追加至URL中。中。URL地址长度是有限制地址长度是有限制的,因此使用的,因此使用GET方法所能传递的数据也有限。一般地,方法所能传递的数据也有限。一般地,GFT方法能够传递方法能够传递256字节的数据。在多数情况下,使用字节的数据。在多数情况下,使用GET方法传递的数据长度是远远不够的,这时就需要使用方法传递的数据长度是远远不够的,这时就需要使用HTTP的另外的另外种请求方式种请求方式POST,POST能传递的数据最能传递的数据最大可达到大可达到2MB。POST请求必须由请求必须由Form发出(使用发出(使用sock方方法直接写入

37、法直接写入HTTP报头的方法除外)报头的方法除外)。 (例例3-2)71得到客户端的信息案例名称:读取客户端的信息案例名称:读取客户端的信息程序名称:程序名称:test.aspx客户端浏览器:客户端IP地址:当前文件服务端物理路径:72Server对象n通过Server对象可以访问服务器的方法和属性。n比如得到服务器上某文件的物理路径和设置某文件的执行期限,等等。73向浏览器输出向浏览器输出HTML代码代码案例名称:向浏览器输出案例名称:向浏览器输出HTML代码代码程序名称:程序名称:test4.aspx%Response.Write(Server.HtmlEncode(helloworld;

38、(你好!);Response.Write(“”);Response.Write(helloworld;(你好!);%74ASP.NET控件简介nASP.NET的设计的基本理念之一是:将Web页面上的所有界面元素都做成控件形式n每一种控件被封装成为一种对象75控件的类别n控件的类型HTML服务器控件Web服务器控件验证控件用户控件76控件类型1:HTML服务器控件n这一类控件是主要是为了保留原来的HTML元素标记。一般和原来的HTML标记一一对应,只是增加了runat=“server”。n常见的有:HtmlForm,HtmlButton,HtmlInputButton,HtmlInputCheckBox,HtmlInputRadioButton,HtmlInputText,HtmlSelect,HtmlTextArean(快速示例中有全部控件示例)http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号