Lect03-动态Web页面设计初步-final.ppt_第1页
Lect03-动态Web页面设计初步-final.ppt_第2页
Lect03-动态Web页面设计初步-final.ppt_第3页
Lect03-动态Web页面设计初步-final.ppt_第4页
Lect03-动态Web页面设计初步-final.ppt_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机与IT入门 第三讲 动态Web页面设计初步 胡燕huyan ssdut 大连理工大学软件学院 2 outline 动态网页简介ASP NET简介ASP NET之HelloWorldCSharp语言基础ASP NET页面设计要领 3 网页的工作原理 客户端 服务器端 发出请求 发回网页 4 静态网页的工作原理 接受请求 找到静态网页 发送网页 服务器端 客户端发起请求 Request 服务器应答 Response 5 动态网页的工作原理 接受请求 找到动态网页 发送网页 服务器端 执行程序代码 生成静态网页 客户端发起请求 Request 服务器应答 Response 6 常见的动态网页设计框架 7 ASP ActiveServerPages 微软公司推出服务器端 Windows2000 IIS Windows98 PWS 客户端 普通浏览器即可 8 PHP RasmusLerdorf1994年提出 经过其他人参与 共同开发而成 服务器端 Unix Linux Windows Apache应用服务器客户端 普通浏览器 优点 免费 开放源代码 缺点 缺乏大公司的支持 9 JSP JavaServerPages 它是由SUN提出 多家公司合作建立的一种动态网页技术 该技术的目的是为了整合已经存在的Java编程环境 例如JavaServlet等 结果产生了一个全新的足以和ASP抗衡的网络程序语言 JSP将Java程序片段 Scriptlet 和JSP标记嵌入普通的HTML文档 10 Web服务器 Web服务器的概念 Web服务器是指驻留于因特网上某种类型计算机的程序 当Web浏览器 客户端 连到服务器上并请求文件时 服务器将处理该请求并将文件发送到该浏览器上 Web服务器是动态Web页面程序部署的不可或缺的重要部分之一典型的Web服务器MSIIS 一般与ASP NET平台结合使用 Apache 常用于PHP平台 Tomcat 一般与J2EE JSP平台结合使用 11 ASP NET简介 12 ASP NET编程基础 CLR 公共语言运行时 NETFramework基础类库 ADO NET与XML ASP NET WebForm WebServices Windows CLS 公共语言规范 VB NET C C Perl Python NETFrameWork的层次结构 什么是ASP NET 13 ASP NET ASP NET不是一门编程语言ASP NET是微软推出的编写企业Web应用程序的平台 开发者可选择任何与 NET兼容的语言进行开发用ASP NET实现的网页的后缀名为 aspx 14 ASP NET主要使用的Web服务器Windows自带的IIS 全称是InternetInformationServer 依靠IIS和 NETFramework 我们才能正确解析 aspx文件 ASP NET使用的Web服务器 15 ASP NET平台特性 ASP NET平台通常只能运行于Windows平台之上开源的Mono项目 它可以让你的ASP NET运行于各种操作系统平台下 http www mono 16 ASP NET之HelloWorld 17 ASP NET之HelloWorld HelloWorld 18 ASP NET之HelloWorld HelloWorld 19 ASP NET之HelloWorld HelloWorld 20 usingSystem usingSystem Data usingSystem Configuration usingSystem Web usingSystem Web Security usingSystem Web UI usingSystem Web UI WebControls usingSystem Web UI WebControls WebParts usingSystem Web UI HtmlControls publicpartialclassHelloWorld System Web UI Page protectedvoidPage Load objectsender EventArgse protectedvoidButton1 Click1 objectsender EventArgse lblMessage Text HelloWorld 21 CSharp语言基础 22 名字空间定义及其使用 NamespaceSystem Usingsystem 23 C 基本语法 数据类型标识符运算符表达式语句和注释流程控制语句 24 1 数据类型 值类型基本类型结构类型枚举类型引用类型对象类型字符串类型类类型接口类型指代类型数组两者的区别在于进行存取时 值类型的变量直接存储其数据 而引用类型的变量则存储其在系统中对应的存储地址 25 数据类型 值类型基本类型整数类型 sbyte byte short ushort int uint long ulong布尔 bool 类型 True False 字符 char 类型 注意 转义符 浮点类型 float double小数 decimal 类型结构类型struct枚举类型enum 26 数据类型 引用类型对象类型object字符串类型string类类型class接口类型interface指代类型delegate数组 27 标识符 正确 ahellothis is validColorColor1 Color1错误 1testColor testthisisinvalid testif 28 5 2操作符 算术运算符加 减 乘 整除 取余 位逻辑运算符位与 位或 非 异或 29 运算符 条件逻辑运算符条件与 条件或 条件非 自增 自减运算符 单元运算符在运算数前后含义不同 30 运算符 移位运算符右移 左移 31 运算符 关系运算符等于 不等于 小于小于等于 条件运算符a b x y 32 运算符 typeof运算符该操作返回一个类型对应的system typesizeof运算符该操作可获得一个类型所占的空间大小 以字节为单位 33 表达式 算术表达式关系表达式逻辑表达式赋值表达式 34 语句和注释 语句是一个基本的指令单位 包括说明语句 表达式语句和流程控制语句等 一般以分号 结尾注释就是在程序中标记 说明某个程序段的作用 它是不会被执行的 单行注释 多行注释 35 控制语句 1 选择语句if语句if 表达式 代码1 else 代码2 switch语句switch 表达式 case常量1 语句1 break default 语句n break 36 控制语句 2 循环语句for循环for for initializer for condition for iterator 语句块 while循环while 条件表达式 语句块 do循环do 语句块 while 条件表达式 37 控制语句 2 循环语句foreach语句foreach typeidentifierinexpression 语句块 其中 type表示identifier的类型Identifier表示集合元素的循环变量expression对象集合或数组表达式 38 控制语句 3 跳转语句break语句continue语句goto语句return语句 39 异常处理 try Codethatthrowsexceptions catch OverflowExceptione Catchaspecificexception catch Exceptione Catchthegenericexceptions finally Executesomecleanupcode 40 命名空间 什么是命名空间命名空间 Namespace 是C 用组织程序的 由于使用命名空间可以养活错误和重用代码 而且分层的组织使一个程序的成员传到另一个程序变得更容易 尽管不强制 但良好的编程习惯是创建命名空间 以清楚地识别应用程序的层次 41 命名空间 命名空间的声明和调用namespace用于声明一个范围 格式如下 namespacename name1 type declaration 其中 name name1命名空间可以是任何合法的标识符 type declaration可以声明一个或多个下列类型 另一个命名空间 class interface struct enum delegate 42 命名空间 命名空间的声明和调用using使用命名空间 格式如下 usingname using命令可以避免都要写类的全名 因为全名一般都很长 43 ASP NET页面设计要领 内容提要 介绍ASP NET页面的创建 代码组织方式 文件结构和事件模型 介绍ASP NET的内部对象Response和Request及其使用方法 44 创建WebForms 什么是ASP NETWebForms 窗体 ASP NETWeb窗体页框架是可以在服务器上用于动态生成Web页的可缩放公共语言运行库编程模型 具体说来 它提供 创建和使用可封装常用功能的可重用UI控件 并由此减少页开发人员必须编写的代码量的能力 开发人员以有序的形式清晰地构造页逻辑的能力 开发工具为页提供强大的WYSIWYG设计支持的能力 现有的ASP代码对工具不透明 45 创建WebForms ASP NETWeb窗体页是带 aspx文件扩展名的文本文件 可在整个IIS虚拟根目录树中部署它们 当浏览器客户端请求 aspx资源时 ASP NET运行库分析目标文件并将其编译为一个 NET框架类 此类然后可用于动态处理传入的请求 注意只能在第一次访问 aspx文件时对其进行编译 已编译的类型实例可以在多个请求间重用 46 创建WebForms WebForms的两种代码组织方式1 不使用CodeBehind技术 即页面代码与C 代码混合在一起的形式2 使用CodeBehind技术 页面代码与C 代码分离 这是ASP NET编程中最常采用的模式 47 ASP NET文件的编译与执行 本地代码 C 代码 VisualBasic NET代码 1 aspx html 48 ASP NET的网页代码模型 1 单文件页模型当代码与页面混合在一起的情况下 aspx页面的代码会形成一个类 其中包含页面内部的处理逻辑 System Web UI Page aspx 页面 classes 一个 aspx实际上是Page类 然后其中包含的代码中包含的程序员定义的其他类 则被会被加载到应用程序域 页面类和应用程序类构成一个类集合 Classes 页面类实例化之后 进行对浏览器的页面响应 49 单文件页面模型示例 案例名称 ASP NET的文件结构程序名称 hello aspxstringstrMessage 早上好 voidPage Load Objectsender EventArgse Message1 Text strMessage 50 ASP NET的网页代码模型 2 代码隐藏页模型 CodeBehind 将事务处理代码都发在cs文件中当ASP NET网页运行的时候 ASP NET类生成的过程中会先处理cs文件中的代码 然后再处理 aspx页面中的代码代码隐藏 代码分离 的好处 明确任务分工 可以由美工人员设计 aspx页面 而页面的主要逻辑 cs部分 由程序员来完成方便代码和页面维护 51 ASP NET文件的结构 代码隐藏 案例名称 ASP NET的文件结构程序名称 hellocb aspx 52 案例名称 基于CodeBehind技术的ASP NET的文件结构程序名称 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 Page protectedvoidPage Load objectsender EventArgse Message1 Text 早上好 53 代码隐藏模型 隐藏模型下的ASP NET代码运行示例图 System Web UI Page cs页面生成的类 classes aspx页面生成的类 页面 cs文件中的代码首先被编译 然后 aspx页面被编译并生成页面对应的类 aspx页面对应的类与cs文件中的类协调并生成新的类 最后 这些类合起来 用来进行客户端页面的呈现 54 ASP NET页面的生命周期 在ASP NET页面运行的时候 也与类对象一样 有着自己的生命周期在ASP NET页面的生命周期内 它将执行一系列的步骤 包括控件的初始化 实例化还原页面状态维护页面状态通过IIS 向客户端呈现HTML 55 ASP NET页面的生命周期 ASP NET生命周期中的几个重要阶段页请求 当用户请求一个页面时 ASP NET决定是否需要分析和编译所请求的页面开始 确定请求属性 根据请求是发回请求还是新的客户端请求 并设置IsPostBack属性 初始化 对页面所使用的服务器空间进行初始化 加载 页面加载控件 验证 调用所有的验证程序控件的Validate方法 回发事件 呈现 下载 56 ASP NET生命周期中的事件 页面加载事件 Page PreInit 只在发生新的客户端请求的时候才执行用于对页面中的控件进行初始化页面加载事件Page Init与Page PreInit功能类似但是 不能保证完全加载各个控件 因为在进行页面回送的时候 Page Init依然执行所有的代码页面载入事件Page Load在页面加载的时候一定会被执行的事件可以通过IsPostBack变量来判断当前页面是为相应客户端回发而加载 还是页面被首次访问的时候记载页面卸载事件Page Unload在页面被关闭的时候 会出发Page Unload事件 57 指令语法 一 Page指令 定义ASP NET页分析器和编译器使用的页特定 aspx文件 属性 只能包含在 aspx文件中 语法形式如下 Import指令 将命名空间显式导入到页中 使所导入的命名空间的所有类和接口可用于该页 语法形式如下 58 指令语法 二 Control指令 定义ASP NET页分析器和编译器使用的控件特定属性 只能包含在 ascx文件 用户控件 中 语法形式如下 Register指令 将别名与命名空间及类名关联起来 以便在自定义服务器控件语法中使用简明的表示法 语法形式如下 59 ASP NET的内部对象 60 Response对象 Response对象处理来自服务器端所创建的并发回给客户端的信息 它与Request对象实现了浏览器和服务器的交互 Response对象实际上操作System Web命名空间中的HTTPResponse对象的实例 HTTPResponse类封装来自ASP NET操作的HTTP响应信息 61 62 63 Response对象 Buffer属性Response Buffer flag Buffer属性表示是否对页面输出进行缓冲 如有缓冲 服务器在当前处理的所有页面上的语句被处理之前不将Response送往客户端 除非有flush或end方法被调用 参数flag表示是否对页面输出进行缓冲 True为需要 False表示否 系统默认为True 而Response Clear 常用于清除缓冲区中的所有内容 例 64 Response对象 Wirte方法Write方法输出指定的文本内容 例如 Response Write 欢迎光临 该方法在前面的例子中已经用到很多 这里不再详细解释 但要注意 在ASP中Response Write 欢迎光临 是被允许的 但在ASP NET中必须有括号框住 否则会出错 65 Response对象 Redirect方法该方法可以将用户的页面重定向到一个新的页面 使用时只要传入一个字符串类型的地址即可 传入在网址后附加参数的地址字符串也可以 该在实现页面转移的过程中很有用 例如 Response Redirect 当然在转向的新页面也可以为相对路径的表示 66 网页转向 案例名称 简化版Response Redirect程序名称 test aspx 67 Request对象 Request对象实际上操作System Web命名空间中的类HttpRequest 当客户发出请求执行ASP NET程序时 CLR会将客户端的请求信息包装在Request对象中 这些请求信息包括请求报头 Header 客户端的基本信息 如浏览器类型 浏览器版本号 用户所用的语言以及编码方式等 请求方法 如Post GET 参数名 参数值等 所以Request对象也被称为请求对象 68 Request对象 69 Request对象 Request对象的调用方法是 Request Collection Varible 其中 Collection包括Querystring Form Cookies ServerVariables四种集合 70 Request对象 Querystring属性请求字符串Web浏览器向Web服务器传送信息的一种方式 Querystring属性的信息来自于发出请求的URL地址中 后面的数据 这些数据称为 URL附加信息 例如http localhost Queststringtest webform1 aspx name wang 在该URL中 name wang是浏览器向Web服务器传送的信息 获取这个信息的语句是 Request Querystring name Querystring主要用于收集HTTP协议中的GET请求发送的数据 如果在一个请求事件中被请求的程序URL地址出现了 后的数据 则表示此次请求方式为GET GET方法是HTTP中默认请求方法 最常用的超文本链接便是通过GET方法发送请求 如 则表示显示ID为111的文章 当有多个信息时 信息间用 连接 71 Request对象 Form属性Form属性是表示表单变量的集合 通过Request对象的Form属性可以读取浏览器发送到服务器的数据 GET方法是将传递的数据追加至URL中 URL地址长度是有限制的 因此使用GET方法所能传递的数据也有限 一般地 GFT方法能够传递256字节的数据 在多数情况下 使用GET方法传递的数据长度是远远不够的 这时就需要使用HTTP的另外 种请求方式POST POST能传递的数据最大可达到2MB POST请求必须由Form发出 使用sock方法直接写入HTTP报头的方法除外 例3 2 72 得到客户端的信息 案例名称 读取客户端的信息程序名称 test aspx客户端浏览器 客户端IP地址 当前文件服务端物理路径 73 Server对象 通过Server对象可以访问服务器的方法和属性 比如得到服务器上某文件的物理路径和设置某文件的执行期限 等等 74 向浏览器输出HTML代码 案例名称 向浏览器输出HTML代码程序名称 test4 aspx你好 Response Write Response Write helloworld 你好 75 ASP NET控件简介 ASP NET的设计的基本理念之一是 将Web页面上的所有界面元素都做成控件形式每一种控件被封装成为一种对象 76 控件的类别 控件的类型HTML服务器控件Web服务器控件验证控件用户控件 77 控件类型1 HTML服务器控件 这一类控件是主要是为了保留原来的HTML元素标记 一般和原来的HTML标记一一对应 只是增加了runat server 常见的有 HtmlForm HtmlButton HtmlInputButton HtmlInputCheckBox HtmlInputRadioButton HtmlInputText HtmlSelect HtmlTextArea 快速示例中有全部控件示例 78 HtmlForm Web表单 它其实就是一个容器 用来盛放其它表单控件 79 HtmlInputText 单行文本框和密码框 80 HtmlTextArea 多行文本框 81 在这里 与客户端脚本的工作方式不同 当用户完成输入后 输入会被传送到Server端 出发相应Server端控件处理过程 82 类型2 Web服务器控件 Web服务器控件 用来定义Web应用程序用户界面的空间 会依据Client的情况产生一个或多个Html控件 基本与HTML服务器控件一一对应 但是功能更强 83 Button控件的例子 84 Web服务器控件简介 Web服务器控件使用 asp 作为前缀说明标志 作为结束标志 一般的Web服务器控件具有如下使用形式 另外 结束符标志也可以为 服务器控件可分为四类 内部控件 与HTML服务器空间相对应 增强控件 可以实现丰富的用户界面和功能 验证控件 可以实现页面的数据验证功能 数据列表控件 用于访问页面上的数据流 85 标签控件Label 该控件在Web窗体页上显示静态文本并使您可以通过编程方式对其进行操作 Label控件的语法形式如下 或者 Text 86 按钮控件Button LinkButton和ImageButton 一 普通按钮控件Button 提供了一种通用的单击按钮传递信息的方式 能够把页面信息返回到服务器 它在页面上显示为一个普通按钮 Button控件的语法形式如下 87 无标题页 88 按钮控件Button LinkButton和ImageButton 二 链接按钮控件LinkButton 具有超链接外观的按钮控件 LinkButton控件的语法形式如下 89 按钮控件Button LinkButton和ImageButton 三 或者 Text 90 按钮控件Button LinkButton和ImageButton 四 图形按钮控件ImageButton 具有图形外观的按钮 ImageButton控件的语法形式如下 91 控件TextBox 用于实现网络上的文本输入 创建单行和多行文本框 语法形式如下 92 选择类控件 复选框控件CheckBox复选列表框控件CheckBoxList下拉列表框控件DropDownList列表控件ListBox单选按钮控件RadioButton单选按钮列表框控件RadioButtonList 93 下拉列表框控件DropDownList 使用户可以从单一选择下拉列表中进行选择 列表可以包含任意数目的项 语法形式如下 DataTextField DataSourceField DataValueField DataSourceField AutoPostBack True False OnSelectedIndexChanged OnSelectedIndexChangedMethod Text 94 列表控件ListBox 用于创建单选或多选列表框 ListBox控件的语法形式如下 DataTextField DataSourceField DataValueField DataSourceField AutoPostBack True False Rows rowcount SelectionMode Single Multiple OnSelectedIndexChanged OnSelectedIndexChangedMethod runat server Text 95 复选框控件CheckBox 在Web窗体页上创建复选框 该复选框允许用户在true或false状态之间切换 通过设置Text属性可以指定要在控件中显示的标题 标题可显示在复选框的右侧或左侧 设置TextAlign属性以指定标题显示在哪一侧 语法形式如下 96 复选列表框控件CheckBoxList 创建多选复选框组 此控件支持绑定到数据源 语法形式如下 DataTextField DataSourceField DataValueField DataSourceField RepeatColumns ColumnCount RepeatDirection Vertical Horizontal RepeatLayout Flow Table TextAlign Right Left OnSelectedIndexChanged OnSelectedIndexChangedMethod runat server Text 97 单选按钮控件RadioButton 在页上创建一个单选按钮 可将多个单选按钮分为一组以提供一组互相排斥的选项 语法形式如下 98 单选按钮列表框控件RadioButtonList 创建一组单选按钮 此控件支持绑定到数据源 语法形式如下 DataTextField DataSourceField DataValueField DataSourceField RepeatColumns ColumnCount RepeatDirection Vertical Horizontal RepeatLayout Flow Table TextAlign Right Left OnSelectedIndexChanged OnSelectedIndexChangedMethod runat server 99 超链接控件HyperLink 在页上创建一个链接 用户可以单击它以移动到其他页 语法形式如下 或者Text 100 容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论