1 / 58

互联网软件开发与应用

互联网软件开发与应用. 任课教师:陆 铭 联系电话: 66134267 QQ: 22839978 PoPo:richard.du@163.com 教学网站: mingler.ccshu.org. 4.1 ASP.NET 简介 4.1.1 ASP.NET 的历史 4.1.2 ASP.NET 的优越性 4.1.3 ASP.NET 中的文件类型 4.1.4 ASP.NET 的编程语言 4.1.5 ASP.NET 丰富的 Web 控件 4.2 Web 页面 4.2.1 Web Form 4.2.2 Web 页面处理过程 4.2.3 Web Form 事件模型

hall-lee
Download Presentation

互联网软件开发与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 互联网软件开发与应用 任课教师:陆 铭 联系电话:66134267 QQ: 22839978 PoPo:richard.du@163.com 教学网站:mingler.ccshu.org

  2. 4.1 ASP.NET简介 4.1.1 ASP.NET的历史 4.1.2 ASP.NET的优越性 4.1.3 ASP.NET中的文件类型 4.1.4 ASP.NET的编程语言 4.1.5 ASP.NET丰富的Web控件 4.2 Web页面 4.2.1 Web Form 4.2.2 Web页面处理过程 4.2.3 Web Form事件模型 4.3 服务器端控件 4.3.1 文本输入控件 4.3.2 按钮控件 4.3.3 复选控件 4.3.4 单选控件 4.3.5 列表框 4.3.6 RequiredFieldValidator 4.3.7 ValidationSummary 4.3.8 选择控件 4.3.9 ImageButton控件 4.3.10 列表控件 4.4 自定义控件 4.4.1 代码和模板的分离 4.4.2 自定义控件 4.4.3 组合控件 4.4.4 继承控件 4.5 数据库编程 4.5.1 基本概念 4.5.2 通过ADO.NET访问数据库 4.6 性能优化 第四章 ASP.NET介绍

  3. 学习目的和要求 • 通过本章的学习,考生应该了解ASP.NET的历史, ASP.NET的优越性, ASP.NET中文件类型,ASP.NET的编程语言, ASP.NET丰富的web控件,理解ASP.NET中Web Form的概念及其处理过程,Web Form事件模型,服务器端包含的控件,自定义控件,Manager Provider和DataSet的概念、如何通过ADO.NET访问数据库,性能优化的概念, ASP.NET中提供的三种缓存替换的策略

  4. 考核知识点 • 4.1 ASP.NET的历史, ASP.NET的优越性, ASP.NET的编程语言, ASP.NET丰富的Web控件 • 4.2 ASP.NET中Web Form的概念,Web页面的处理过程,Web Form事件模型的概念 • 4.3 ASP.NET的服务器端控件,包括:文本输入控件、按钮控件、复选控件、单选控件、列表框、RequiredFieldValidator、ValidationSummary、选择控件、ImageButton控件以及列表框控件 • 4.4 代码和模板分离的好处,自定义控件的概念,组合控件的定义及其使用方法,继承控件的定义及其使用方法 • 4.5 Managed Provider的概念,DataSet的概念,ADO.NET访问数据库的步骤,ADO.NET的对象模型 • 4.6 性能优化的基本概念, ASP.NET中三种缓存替换的策略

  5. 考核要求 • 4.1 ASP.NET简介 • 识记:ASP.NET的历史, ASP.NET的优越性, ASP.NET的编程语言, ASP.NET丰富的Web控件:广告轮转控件、日历控件以及验证控件 • 4.2 Web页面 • 识记:ASP.NET中Web Form的概念 • 领会:Web页面的处理过程,Web Form事件模型的概念 • 4.3 服务器端控件 • 领会:ASP.NET的服务器端控件,包括:文本输入控件、按钮控件、复选控件、单选控件、列表框、RequiredFieldValidator、ValidationSummary、选择控件、ImageButton控件以及列表框控件 • 4.4 自定义控件 • 识记:代码和模板分离的好处,自定义控件的概念,组合控件的定义及其使用方法,继承控件的定义及其使用方法 • 4.5 数据库编程 • 识记:Managed Provider的概念,DataSet的概念 • 领会:ADO.NET访问数据库的步骤,ADO.NET的对象模型 • 4.6 性能优化 • 识记:性能优化的基本概念, ASP.NET中三种缓存替换的策略

  6. 4.1 ASP.NET 简介

  7. ASP与ASP.NET • ASP(Active Server Pages)是由微软公司开发的一种用以取代传统CGI的技术,用于建立动态交互的Web应用程序。ASP程序由文本、HTML标签和ASP命令组成。ASP还可以结合使用服务器端ActiveX组件,定制ActiveX组件,从而能迅捷、方便地创建功能强大的动态网页。 • ASP.NET是由微软的.NET技术细化而来的,与ASP技术有关系但不是简单的继续,ASP.NET完全基于模块与组件,具有可扩展性和可定制性,数据处理方面引入了多项新技术,给Web开发人员提供了更好的灵活性,有效缩短了Web程序的开发周期。

  8. ASP.NET的历史 • ASP 0.9测试版 • 能够将ASP代码直接嵌入到HTML中,使网页设计更简单、更强大,并通过内置的组件实现强大的功能,特别是ActiveX Data Object(ADO)使得建立一个动态网页十分简单 • ASP 1.0 • 作为IIS的附属产品免费发放,在windows平台上广泛使用 • ASP 2.0 • 1998年发布,与IIS 4.0配合使用,每个组件具有自己独立的内存空间,内置的Microsoft Transaction Server (MTS)使得制作组件变的简单 • ASP 3.0 • 随windows 2k一起发布的IIS 5.0组合了ASP 3.0,其核心是将很多事情交给了COM来完成。Windows 2k结合了MTS和COM核心环境做出了COM+,使其成为一个可升级的高效的平台。IIS 5.0在接口上做了很大改动,内部使用了COM+服务对组件提供更好的执行环境 • ASP.NET

  9. 简单易用 ASP的组成及其特点 • ASP的组成部分 • 服务器端脚本、服务器端组件、服务器端对象 • 客户端脚本、标准文本、文件系统 • ASP的本质就是服务器端的脚本制作 • 在服务器端制作、在客户端浏览 • ASP代码是内嵌在HTML中的代码 • 传送到客户端的是程序执行后的结果 • ASP的缺陷 • 程序代码不够结构化 • 混合了显示界面的标记、Client端的脚本、Server端的程序等 • 程序维护困难、查错排错不易 普通的HTML代码可以在客户端制作,直接在客户端浏览 可在客户端制作,再上传到服务器,不上传无法浏览 不利于规模开发

  10. ASP.NET的优越性 ASP.NET是为建立动态Web应用程序而重新打造的全新技术 • 简化开发操作 • ASP.NET将页面逻辑与业务逻辑分开,分离了程序代码与显示的内容 • 语言独立性 • ASP网页中允许使用多种脚本语言撰写程序代码:VBSvript、JavaScript • ASP.NET允许使用编译式语言,提供较好的执行效率和跨语言的兼容性 • 分离程序代码和网页内容 • ASP.NET使用事件驱动和数据绑定的开发方式,分离程序代码与用户界面接口,使用代码隐藏方式分离程序代码和显示的标记于不同的文件中 • 提高执行效率 • ASP.NET的程序代码经过编译,执行时间比ASP直译的方式快 • ASP.NET提供快取(Cache)能力有效缩短服务器的应答时间

  11. ASP.NET的优越性 (续1) • 简化部署与组态的操作 • ASP.NET不需要考虑组件的注册问题,直接将相关的文件复制到目的机器的相应的目录中即可 • 在组态(Configuration)方面ASP.NET采用容易阅读的XML组态文件,称为Web.config,只要将此文件放置在Web程序的相关目录中即可完成组态操作 • 支持多种客户端类型 • ASP.NET提供多种Server Control,执行期间能自动检测浏览器所支持的功能,并自动产生符合前端浏览器可用的网页 • 支持下一代的Web Service • Web Service是指可以跨Internet调用的应用程序,提供重复使用的功能 • 增进适用性 • ASP.NET在解决程序故障—内存泄漏时能自动重新启动进程,不会死机 • 任何会造成内存泄漏的程序代码或产生无穷循环或没有关闭使用的资源的程序代码只会影响到一条线程 • 一旦ASP.NET检测到某条线程运行失常,它会把新的要求导向新的线程,受损的线程会被自动收回,最后一个使用到该线程的请求将会被毁灭

  12. ASP.NET的优越性 (续2) • 增进延展性 • 使用编译过的语言和快取能力增进延展性 • 使用全新的Session-State管理方式,让应用程序可以很容易的在Web Farm、Web Garden中使用Session • 更多的支持工具 • 提供更丰富、以组件为基础的程序化模型,让程序开发更方便 • 更佳的安全机制 • ASP唯一能够使用的验证方式是Windows Authemem • ASP.NET提供三种登录验证方式:Windows,Passporty和Cookie • 也可以使用Impersonation的功能,使用登录者的权限执行一些程序代码或存取资源 • Session可以跨进程、跨机器 • Session的状态可以在不同机器的不同进程(Process)上进行维护,以解决Web Form的Session维护问题

  13. ASP.NET中的文件类型 • ASP的文件类型只有一个:.asp,而在ASP.NET中有多种类型的文件 • Global.asax • ASP.NET系统环境设置文件,相当于ASP中的 Global.asp • .aspx • 内含ASP程序代码的文件,相当于原来的.asp,浏览器可执行此类文件 • .asmx • 制作Web Service的原始文件 • .sdl • 制作Web Service的XML格式的文件 • .vb或.cs • 在非ASP.NET环境下执行Web Service的文件 • .aspc • 可重复使用多个 .aspx的文件,此文件内可含有控件 • .ascx • 内含User Control的文件,可内含在多个 .aspx文件中

  14. ASP与ASP.NET的比较

  15. ASP.NET的编程语言 • ASP.NET支持的开发语言种类很多 • VB.NET • C#.NET • JSCRIPT.NET • VC++.NET • 以及其他 .NET Framework所支持的语言 • 使用最普遍的编程语言 • VB.NET • C#.NET

  16. Visual Basic.NET • VB.NET简介 • VB.NET是Visual Basic.NET的简称,是Visual Basic在.NET中的最新版本 • VB.NET与VB 6.0相比,增加了许多新的或改进的特性,成为面向对象的编程语言 • 继成、接口、重载(Overloading)、构造体、异常处理和新的数据类型 • VB.NET最大的新特征就是利用了CLS(Common Language Specification)和CLR(Common Language Runtime) • VB.NET遵从,任何遵从CLS的语言都可以使用由VB.NET编写的类、对象和组件 • VB.NET开发人员也可以自由使用其他遵从CLS的语言编写的类、对象和组件,不用担心语言之间的差异

  17. Visual Basic.NET(续1) • VB.NET新特性简介 • 继承性 • VB.NET允许定义基类,派生类可以继承基类的属性和方法 • 开发人员可以用派生类的方法覆盖基类的方法 • VB.NET中所有类默认情况下都是可以继承的 • 异常处理 • VB.NET支持结构化的异常处理,可以用如下代码捕捉异常 Try 'Try块 Catch e As ClassLoadException 'Catch块 Finally 'Finally块 End Try 在Try块中放上异常处理代码,当发生异常时程序会自动跳到Catch块进行处理,如输出错误信息或给用户一个友好的提示等,避免程序发生崩溃;Finally块中用来释放一些系统资源。

  18. Visual Basic.NET (续2) • 重载(OverLoading) • 使用重载可以让具有不同数据类型的方法、属性或者过程使用相同的名字 • 程序示例 OverLoads Sub Display(By Val theChar As Char) '显示 Char 数据的代码 End Sub OverLoads Sub Display(By Val theInteger As Integer) '显示 Integer 数据的代码 End Sub OverLoads Sub Display(By Val theDouble As Double) '显示 Double 数据的代码 End Sub • 当向Disply传入不同类型的数据时,它会运行不同的过程,适合于需要经常使用不同类型的数据的场合

  19. Visual Basic.NET (续3) • 接口 • 接口和类一样可以定义方法和属性 • 接口与类所不同的是:接口并不提供方法的实现,开发人员可以在继承接口的类中编写具体的实现 • 与传统的VB比较可以发现,VB.NET已经变成了一门全新的面向对象的程序设计语言 • 与其他面向对象的程序设计语言已经十分相似了 • 下面简单介绍VB.NET的程序结构和基本语法,以及VB.NET的一些重要的函数的使用

  20. VB.NET的程序结构 其格式如下: Module Module1 Sub Main() End sub End Module • 使用VB.NET编写的任何代码都必须按照以下顺序: • 1. Option语句; • 2. Imports语句; • 3. Main过程; • 4. 若适用,还有Class,Module和Namespace语句

  21. VB.NET的程序结构 • Option语句为后续的代码建立基本的规则,以防止语法和逻辑错误 • 通过Imports语句导入命名空间,可以简化代码书写 • Main过程是应用程序的起始点——运行代码时访问的第一个过程 • 类和模块是源文件代码最大的部分

  22. 案例 “Hello! World!” 应用程序 • 步骤1:输入代码 • 打开[记事本]应用程序,输入以下代码并保存为Hello.vb文件 Module Hello Sub Main() System.Console.WriteLine("Hello! World") End Sub End Module • 步骤2:打开[Visual Studio.NET命令提示]窗口 • 步骤3:编译并运行 • 1. 执行VBC Hello.vb进行编译 • 2. 编译器创建一个Hello.exe文件 • 3. 输入Hello运行该程序

  23. 操作符与表达式 • 赋值操作符 “=” • VB.NET可以对变量进行连续赋值,赋值操作符是右关联的。如 a=b=c 等价于 a=(b=c) • 在简单赋值操作符之前加上其他操作符,可以构成复合操作符号。如 a+=5 等价于 a=a+5 • 关系操作符与关系表达式 有六种:<、<=、>、>=、=、<> • 数学操作符和数学表达式 有四种:+、-、*、/ • 对于字符串类型的变量,加法操作符的作用是连接,返回值是字符串类型。但是通常在VB.NET中使用&符号来连接两个字符串。 • 注意:在除法运算中,返回值的类型与操作数中精度最高的操作数的类型相同。如:5/2=2,5.0/2=2.5 • 逻辑操作符和逻辑表达式 有四种:NOT、AND、OR、XOR 其优先级顺序由高到低为NOT,AND,OR,XOR

  24. VB.NET的数据类型和VB 6.0相比区别比较大 变量:VB.NET不再允许使用未声明的变量,以便编译器为他们分配内存空间。 变量声明语句如下表 数据类型、变量、常量和数组

  25. 数据类型、变量、常量和数组 • 常量 • 在VB.NET中,常量主要有两种来源,一种是内部的或系统定义的常量,另一种是用户自定义的常量。用户定义的常量用Const语句声明,其格式为: [Public] [Private] Const constantname [As type]=expression 如: Public const AA As Integer=128

  26. 数据类型、变量、常量和数组 • 数组 • 数组是一个由相同名称相关联的,具有相同类型的变量的集合。数组中包含的变量又称为数组元素。数组包括固定数组和动态数组。 • 固定数组 • 数组必须用Global或Dim语句定义。Dim语句的语法格式为: Dim 数据名([Lower To] Upper,[Lower To] Upper) [As Type] Lower是数据下标的下限,Upper是数据下标的上限,Lower的缺省值为0 如:Dim Btn1(1 To 27) As Button

  27. 数据类型、变量、常量和数组 • 数组 • 动态数组 • 用带空()的Dim声明一个动态数组,如 Dim XDF() • 用ReDim语句定义动态数组的维数和元素的个数。其格式为: ReDim [Preserve] 数组 ([Lower To] Upper,[Lower To] Upper) [As Type] 其中:Preserve表示是否保护已有的数据,它只能改变多维数据最后一维的上限。如: ReDim Preserve XDF(UBound(XDF)+20)

  28. 控制分支语句 • 使用条件语句可以控制程序的流程 • 使用条件语句可以编写进行判断和重复操作的VB.NET代码 • VB.NET可使用以下条件语句: • If···Then···Else 语句 • Select Case 语句

  29. 控制分支语句 (续1) • 使用If···Then···Else语句 • 格式一:条件后直跟一条语句可省略End If。 If myDate<Now Then myDate=Now • 格式二:执行多条语句。 If value=0 Then ··· End If

  30. 控制分支语句 (续2) • 使用If···Then···Else语句 • 格式三:二重分支。 If value=0 Then ··· Else ··· End If

  31. 控制分支语句 (续3) • 使用If···Then···Else语句 • 格式四:多重分支。 If value=0 Then Flag=5 ElseIf value=1 Then Flag=10 ElseIf value=2 Then Flag=15 Else Msgbox “数值超出范围” End If

  32. 控制分支语句 (续4) • 使用Select Case语句 • Select Case结构在其开始处使用一个只计算一次的简单测试表达式,表达式的结果与结构中每个Case的值比较,如果匹配,则执行与该Case关联的语句块 • Select语句的基本格式: Select Case Flag Case 1 call func1 Case 2 call func2 Case Else call err_msg End Select

  33. 循环语句与控制流 • 在VB.NET中可使用下列循环语句: • Do···Loop • 当(或直到)条件为True时循环 • While···Wend • 当条件为True时循环 • For···Next • 指定循环次数,使用计数器重复运行语句 • For Each···Next • 对于集合中的每项或数组中的每个元素,重复执行

  34. 使用Do循环 当条件为True时或条件变为True之前,重复执行语句块。当条件为True时重复执行语句 While关键字用于检查Do···Loop语句中的条件。有两种方式检查条件:在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件 如果不知道什么时候退出循环,可以用Exit Do语句,并加上判断条件来退出Do···Loop循环。 使用Do···Loop语句控制循环 Dim counter,myNum counter=0 myNum=20 Do While myNum>10 myNum=myNum-1 counter=counter+1 Loop MsgBox “循环重复了”& counter & “次” 循环语句与控制流 (续1)

  35. 循环语句与控制流 (续2) • While···End 语句 • While···End While实现循环也是先判断while后面的条件是否成立,如果条件成立则执行循环体中的内容,直到条件不成立 • 注意:While和Wend必须配对使用。 • For···Next 语句 • For···Next语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。Exit···For 语句用于在计数器达到其中直至之前退出For···Next 语句。如: Dim x For x=1 to 5 MsgBox(x) Next

  36. 循环语句与控制流 (续3) • For Each···Next • For Each···Next不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目是非常有用。 • 如:使用组件 Dim d,I d=CreateObject ("Scripting.Dictionary") d.Add("0","Athens") d.Add("1","Belgrade") d.Add("2","Cairo") For Each I In d MsgBox(I & "=" & d.Item(I)) Next

  37. 由celsius( )定义的函数完成转换计算 过程和自定义函数 • VB.NET中过程被分为两类:Sub过程和Function函数 • Sub过程 • Sub过程是包含在Sub和End Sub语句之间的一组VB.NET,执行操作但不返回值。可带参数。如果Sub过程无任何参数,则Sub语句必须包含空括号()。 • 例如: Sub ConvertTemp() Dim temp temp=inputBox("请输入华氏温度。",1) MsgBox "温度为" & Celsius(temp) & "摄氏。" End Sub

  38. 过程和自定义函数 • Function过程 • Function过程是包含在Function和End Function语句之间的一组VB.NET语句,Function过程可以有返回值 • Function过程可以使用参数,如果Function过程无任何参数,则Function语句必须包含空括号() • Function过程通过函数名返回一个值,这个值是在过程的语句中赋值给函数名的。 • Function返回值的数据类型总是Variant • 参数名可以是任何有效的变量名。使用Sub语句或Function语句创建过程时,过程名之后必须紧跟括号() • 如: Function Celsius (fDegrees) Celsius=(fDegrees-32)*5/9 End Function

  39. 过程和自定义函数 • 注意: • 1. 要从过程获取数据,必须使用Function过程 • 2. 记住Function过程可以有返回值;Sub过程不返回值

  40. VB.NET重要函数分析 • 与字符相关的函数 • Asc函数 • 返回与字符串的第一个字母对应的ANSI字符代码。 如: MyNumber1=Asc(“A”) ‘返回65 • Chr函数 • 返回与指定的ANSI字符代码相对应的字。如: MyChar1=Chr(65) ‘返回A

  41. VB.NET重要函数分析 • 与字符串相关的函数 • InStr函数 • 返回某字符串在另一字符串中第一次出现的位置。 • 下面的示例利用InStr搜索字符串 Dim SearchString, searchchar Dim Mypos1, mypos2, mypos3, mypos4 SearchString="XXpXXpXXPXXP" SearchChar="P" MyPos1=InStr(4, SearchString, SearchChar, 1) '6 MyPos2=InStr(1, SearchString, SearchChar, 0) '9 MyPos3=InStr(SearchString, SearchChar) '9 MyPos4=InStr(1, SearchString, "W") '0 MsgBox(Mypos1 & mypos2 & mypos3 & mypos4)

  42. VB.NET重要函数分析 • 与字符串相关的函数 • Len函数 • 返回字符串内字符的数目,或是存储一变量所需的字节数。如: Dim MyString MyString=Len("VB.NET实用案例编程") '12 MsgBox(MyString) • Mid函数 • 从字符串中返回指定数目的字符。如: Dim MyVar MyVar=Mid(“VB Script is fun!”,4,6) ‘ String MsgBox(MyVar) • 注:左子串函数为 Left, 右子串函数为 Right

  43. VB.NET重要函数分析 • Replace 函数 • 返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。例如: • Dim MyString1,MyString2 • MyString1=Replace(“XXpXXPXXp”,”p”,”Y”) • MyString2=Replace(“XXpXXPXXp”,”p”,”Y”,3,-1,1) • MsgBox(MyString1 & “” & MyString2)

  44. VB.NET重要函数分析 • Split 函数 • 返回基于0的一位数组,其中包含指定数目的子字符串 Dim MyString, MyArray MyString=Split("VB.NETXisXfun!","x",-1,1) 'MyString(0) 包含"VB.NET" 'MyString(1) 包含"is" 'MyString(2) 包含"fun!" MsgBox(MyString(0) & " " & MyString(1) & " " & MyString(2)) • LTrim, RTrim和Trim函数 • 返回不带前导空格(LTrim)、后续空格(RTrim)或前导与后续空格(Trim)的字符串副本 • Trim是取出的意思,函数的功能是去空格。LTrim就是将字符串左边的空格去掉,RTrim去的是右边的。Trim是去除字符串两边的空格

  45. VB.NET语言语法小结 • Main过程是应用程序的起始点 • 使用 vbc.exe 编译 vb 文件 • 数组包括固定数组和动态数组 • ReDim语句可以更改数组每一维的长度 • VB.NET中有2种条件语句 • If···Then···Else语句 和 Select Case语句 • VB.NET中有4种循环语句 • Do···Loop, While···Wend, For···Next 和 For Each···Next • 不知道集合中元素的数目时使用 For Each···Next循环

  46. ASP运行机制 ASP.net的运行机制 从ASP过渡到ASP.net

  47. 开发Web Service实例 • (1) “新建”“项目”

  48. 开发Web Service实例 • (2)从菜单“项目”中选“新建类” ,创建一个类——MathTools.vb,输入代码 • 测试Web服务

  49. 开发Web Service实例 • (3)开发ASP.net网页

  50. 开发Web Service实例 • (4) 给ASP.net工程添加Web引用 • (5) 编写ASP.net网页VB.net代码 • (6) “生成”“生成解决方案” • (7) 实际测试

More Related