1、第第1章章 Web程序程序设计基基础ASP.NET WebASP.NET Web应用开发技术应用开发技术主编:喻钧主编:喻钧 白小军白小军l了解计算机网络和WebWeb的基本知识 l掌握关系数据库及关系数据库及SQLSQL语言语言的基本知识l具备面向对象面向对象的基本概念l具备高级语言的编程知识本课程的学习前提本课程的学习前提目目 录录1.1 软件编程体系软件编程体系 1.2 Web的工作原理的工作原理1.3 Web程序设计技术程序设计技术1.1 软件编程体系软件编程体系C/S C/S(Client/Server)软件体系结构软件体系结构软件体系结构软件体系结构 优势:优势:优势:优势:充分发
2、挥客户端充分发挥客户端PC的处理能力,客户端响应的处理能力,客户端响应速度快。服务器端一般不会成为性能的瓶颈。速度快。服务器端一般不会成为性能的瓶颈。劣势:劣势:劣势:劣势:系统的可扩展性和可维护性差。系统的可扩展性和可维护性差。系统的可扩展性和可维护性差。系统的可扩展性和可维护性差。客户端需要客户端需要专门安装;升级很不方便;可连接用户数有限。专门安装;升级很不方便;可连接用户数有限。C/S结构:结构:主要适用于局域网环境。客户端具有独立主要适用于局域网环境。客户端具有独立的处理功能,同时通过网络与服务器端通信。开发工的处理功能,同时通过网络与服务器端通信。开发工具包括具包括C+、Delph
3、i、Java等。等。B/S(Brower/Server)软件体系结构)软件体系结构 B/S结构:结构:适用于广域网环境。应用程序及数据库系适用于广域网环境。应用程序及数据库系统都安装在服务器上,客户端只需安装一个浏览器统都安装在服务器上,客户端只需安装一个浏览器软件。处理功能都运行在服务器端。开发工具包括软件。处理功能都运行在服务器端。开发工具包括ASP、PHP、JSP、J2EE、ASP.NET等。等。优势:优势:优势:优势:维护方便、易于升级和扩展。处理功能运行在维护方便、易于升级和扩展。处理功能运行在服务器端,客户端零维护。软件升级只需在服务器端服务器端,客户端零维护。软件升级只需在服务器
4、端更新程序即可。软件重用性好。更新程序即可。软件重用性好。劣势:劣势:劣势:劣势:服务器负担沉重,容易成为性能的瓶颈;客户服务器负担沉重,容易成为性能的瓶颈;客户端功能十分有限。端功能十分有限。C/S结构与结构与B/S结构的比较结构的比较 C/SC/S软软件体系件体系结结构构B/SB/S软软件体系件体系结结构构硬件环境局域网,专门的小范围网络硬件环境,用户固定,用户数量有限 广域网,不必是专门的网络环境,只要是能接入Internet的用户均可 系统维护升级和维护难,成本高客户端零维护,易于实现系统的无缝升级软件重用性单一结构,软件整体性较强,各部分间的耦合性强,可重用性较差 多重结构,各构件相
5、对独立,可重用性较好 平台相关性客户端和服务器端是平台相关的,多是Windows平台 客户端和服务器端是平台无关的 安全性面向相对固定的用户群,对信息安全的控制能力强 面向不可知的用户群,对信息安全的控制能力相对较弱 1.2 Web的工作原理的工作原理uu 定义:定义:定义:定义:HTTP(Hyper Text Transfer Protocol)超文本)超文本传输协议传输协议是万维网客户端与服务器端交互遵守的协议,是一个应用层的协议,使用TCP连接进行可靠的传输。uu HTTPHTTP的基本思想:的基本思想:客户端给服务器发送请求,服务器向客户发送响应。HTTP事务有两种类型:请求和响应。1
6、.2.1 HTTP1.2.1 HTTP协议协议协议协议1.2.2 HTTP 1.2.2 HTTP 请求和请求和请求和请求和 HTTP HTTP 响应响应响应响应 HTTP协议是一种请请求求/应应答答协议,它通过客户机和服务器相互发送消息的方式工作。使用HTTP消息头,可以实现客户机与服务器之间的HTTP请求和HTTP应答。消息头分为:通用头,请求头,响应头和实体头等4类。HTTP请求消息请求消息 HTTP响应消息响应消息 1.3 Web程序设计技术程序设计技术1 1)浏览器发出一个浏览器发出一个URLURL请求,与服务器建立连接;请求,与服务器建立连接;2 2)服务器接到请求后,在硬盘上找到相
7、应的文件:服务器接到请求后,在硬盘上找到相应的文件:若是若是静态静态网页网页直接传送到客户端;直接传送到客户端;若是若是动态网页动态网页运行它,生成静态运行它,生成静态HTMLHTML并返回客户端并返回客户端3 3)服务器关闭连接。服务器关闭连接。DBWeb ServerWeb BrowserHTTP RequestHTTP Response1.3.1 静态网页和动态网页静态网页和动态网页静态网页静态网页静态网页静态网页 (Static Pages)(Static Pages)纯粹HTML格式的网页被称为静态网页,通常是以.htm 或.html 为后缀的HTML文件。静态网页静态网页静态网页静
8、态网页 (Static Pages)(Static Pages)l 每个静态网页都有一个固定的URL。l 静态网页的内容是原封不动被传递的,如果要修改网页内容,必须修改HTML源代码。l 静态网页没有数据库的支持,不支持客户端和服务器端的交互。主要特点:动态网页动态网页动态网页动态网页 (Dynamic Pages)(Dynamic Pages)动态网页文件中含有HTML标记和程序代码,后缀随程序语言的不同而不同,如.asp、.aspx、.php、.jsp等,大都需要数据库支持。l 动态网页是由服务器执行相应的脚本程序后,动态生成的HTML文件。l 不同的请求及访问数据的变化会生成不同的HTM
9、L代码,网页内容随时更新。l 具有数据库访问功能,支持客户端和服务器端的交互。接受请求找到动态网页发送网页服务器端 执行程序代码,生成静态网页动态网页动态网页动态网页动态网页 (Dynamic Pages)(Dynamic Pages)主要特点:1.3.2 客户端和服务器端脚本编程客户端和服务器端脚本编程 l脚本(Scripts)是指嵌入到Web页中的程序代码,所使用的编程语言称为脚本语言。l按照执行方式和位置的不同,脚本分为客户端脚本和服务器端脚本。l客户端脚本在客户机上被Web浏览器执行,服务器端脚本在服务器上被 Web应用服务器执行。l静态网页只能包含客户端脚本,动态网页则可以包含客户端
10、脚本和服务器端脚本。因此,静态网页中的任何脚本都不能在服务器上运行,而动态网页中的某些脚本只能在Web服务器上运行。客户端脚本编程(客户端脚本编程(Client-side Scripting)常见的客户端脚本语言有VBScript、JScript、JavaScript等。它们都是解释型的、基于对象的脚本语言。相同的工作机制:将脚本嵌入到Web页面中,并随着HTML文件一起传送到客户端,由浏览器解释执行。在脚本执行期间无须与服务器交互,可以对用户的操作直接做出响应。用客户端脚本语言编写的程序通常用标记和界定,可以放到HTML的或部分。服务器端脚本编程(服务器端脚本编程(Server-side S
11、cripting)常见的服务器端脚本语言有:ASP(.NET):微软公司推出JSP:SUN公司推出PHP:PHP网络小组开发小组共同点:-脚本都运行于服务器端,能够动态生成网页;-脚本运行不受客户端浏览器限制;-脚本被嵌入到HTML文档中,执行后返回HTML代码。1)PHP(Personal Hypertext Preprocessor)lPHP文件:文件:在普通HTML文件中嵌入PHP脚本语言,类似C/Java/Perl语言。l服务器端服务器端:Unix/Linux/Windows均可;l特点:特点:脚本在服务器端运行,不受浏览器限制。l优点:优点:免费、开放源代码,运行成本低,跨平台,可以
12、在Windows、UNIX和Apache Web服务器上运行。l缺点缺点:运行环境的安装、配置比较复杂;缺乏大公司的支持。2)JSP(Java Server Pages)lJSP文件:文件:将Java程序片段(Scriptlet)和JSP标记嵌入普通的HTML文档中。l特点:特点:脚本在服务器端运行,当客户第一次请求JSP文件时,该文件将被编译成Servlet,并由Java虚拟机执行,以后的请求就不用再编译了。l优点优点:跨平台Unix/Linux/Windows,移植方便;l缺点:缺点:较较复杂难学。3)ASP(Active Server Pages)lASP文件:文件:将VBScript或
13、JavaScript脚本嵌入到普通HTML文件中。l服务器端:服务器端:Windows 2000+IIS、Windows 98+PWS;l特点:特点:脚本在服务器端运行,不受客户端浏览器限制;无需编译就可以解释执行。l优点:优点:简单易学、容易上手;l缺点:缺点:所有代码都是解释执行的,运行速度比HTML慢;只能在Windows环境下使用,不能跨平台;代码的结构性不好,导致代码不好理解。4)ASP.NETASP.NET是.NET框架体系的一部分,它建立在公共语言运行库上,可用于在服务器上生成功能强大的Web应用程序,为Web站点创建动态的、交互的HTML页面。(1)效率增强 ASP.NET采用编译后运行的方式,速度大大提高。(2)顶级开发工具支持 可以在Visual Studio.NET中开发,支持所见即所得、拖放控件和自动部署等功能。(3)程序结构清晰 将程序代码和HTML标记分开(4)移植方便 可以向目标服务器直接复制组件,当需要更新时,重新复制一个即可。