1 / 28

第 11 章 Web 应用开发

第 11 章 Web 应用开发. 王德俊 上海交通大学继续教育学院. 第 11 章 Web 应用开发. 11.1 关于 ASP.NET 11.2 Web 基础和多层程序体系结构 11.3 ASP.NET 控件和对象 11.4 ASP.NET 数据库应用程序. 11.1 关于 ASP.NET. ASP ( Active Server Pages ) 是 Microsoft 公司于 1996 年 11 月推出的面向 WEB 应用程序开发的技术框架: ASP 主要是由“ <%” 和“ %>” 括起来的代码嵌入到 HTML 中的一种技术。

Download Presentation

第 11 章 Web 应用开发

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. 第11章 Web应用开发 王德俊 上海交通大学继续教育学院

  2. 第11章 Web应用开发 11.1 关于ASP.NET 11.2 Web基础和多层程序体系结构 11.3 ASP.NET控件和对象 11.4 ASP.NET数据库应用程序

  3. 11.1 关于ASP.NET • ASP(Active Server Pages)是Microsoft公司于1996年11月推出的面向WEB应用程序开发的技术框架: • ASP主要是由“<%”和“%>”括起来的代码嵌入到HTML中的一种技术。 • ASP代码是在服务器端执行,执行时无需编译,可以用任何的文本编辑器编写(如记事本等)。 • ASP可以通过内置的组件实现更强大的功能,如使用ADO可以轻松地访问数据库。

  4. 11.1 关于ASP.NET • ASP.NET则是从HTML发展到ASP,然后伴随着微软的.NET技术的推出而出现的: • ASP.NET不是ASP的简单升级,而是全新一代的动态网页开发系统,用于在一台Web服务器上建立强大的应用程序。 • 是Microsoft.NET技术的一个组成部分,是ASP和.NET技术结合的产物。 • 在Microsoft Visual Studio 2005~2013中,利用.NET提供的控件,可快速开发ASP.NET应用程序,大大简化了编码的过程。

  5. 11.1 关于ASP.NET • 相对ASP而言,ASP.NET具有的主要优势: • 实现界面和代码的分开 • 编译执行 • 使用强类型(strongly-type)编程语言 • ASP.NET主要包括两种编程模型: • WebForm:提供了建立功能强大、外观丰富的基于表单(Form)的可编程Web页面,几乎与VB.NET、C#.NET的窗体开发界面是一样的 • WebService :通过对HTTP、XML、SOAP、WSDL等Internet标准的支持提供在异构网络环境下获取远程服务、连接远程设备、交互远程应用的编程界面

  6. 11.1 关于ASP.NET • WebForm(Web窗体)文件的扩展名为.aspx,它包含Web页面的GUI。通过增加各种Web控件,如:卷标、文本框、图像、按钮以及其他GUI组件,可以定制Web窗体,Web窗体文件表示要发送到客户端浏览器的Web页面 • VS创建的ASPX文件都有一个相应的类,放在对应的.cs文件中,类中包含事件处理器、初始化代码、使用工具方法以及其他相关支持代码,这个文件称为代码隐藏文件,它提供ASPX文件的编程实现。

  7. 11.2 Web基础和多层程序体系结构 • Web基础: • 在最简单的形式中,Web页面就是一个HTML文档,它描述Web浏览器如何显示和格式化文档的内容 • 当用户点击超链接时,Web服务器会定位所请求的Web页面并将它发送到用户的Web浏览器中 • ASP.NET产生的Web页面是以XML为基础的XHTML文档

  8. 11.2 Web基础和多层程序体系结构 • URI和URL: • URI(Uniform Resource Identifier,统一资源标识符)用以标识Internet上的资源,以http://开头的URI,被称为URL( Uniform Resource Locator,统一资源定位器),常见的URL会指向文件、目录或者执行任务的服务器端代码,比如数据库查找、Internet搜索和业务应用处理。

  9. 11.2 Web基础和多层程序体系结构 • URL的组成 • URL包含的信息会引导浏览器到达用户希望访问的资源。Web服务器使得Web客户能够获得对应的资源。流行的Web服务器包括Microsoft的Internet Information Server(IIS)和Apache的HTTP Server • 如:http://moodle.sjtuonline.com/course/view.php,其中http://标识用http协议获得资源,moodle.sjtuonline.com是资源所在的Web服务器计算机(主机)的名称,moodle.sjtuonline.com会被翻译成IP地址,/course/view.php表示Web服务器上的资源位置和文件名称,位置通常是一个虚拟目录,从而隐藏资源的真实位置。

  10. 11.2 Web基础和多层程序体系结构 • 发出请求和接收响应: • 给定URL时,Web浏览器会利用HTTP取得对应地址的Web页面,请求和响应过程如图:

  11. 11.2 Web基础和多层程序体系结构 • 多层程序体系结构: • 基于Web的程序是多层程序(有时称为n层),多层将功能分为若干层(即:逻辑功能组),尽管这些层可以位于同一台计算机中,但考虑到安全性和可伸缩性,基于Web的程序的层通常放在单独的计算机上。如图为三层Web程序的基本结构。

  12. 11.2 Web基础和多层程序体系结构 顶层客户端是程序的用户界面,收集用户的输入并显示输出,用户通过用户界面(通常为Web浏览器)、键盘和鼠标直接与程序交互 中间层实现业务逻辑,充当信息层数据与客户端的中介,负责处理客户请求、执行业务规则,并向客户呈现内容。 控制程序的客户与数据之间的交互。 信息层(底层)维护程序中的数据,该层通常用关系数据库管理系统保存数据

  13. 【例11.1】基于C#的简单ASP.NET应用程序:功能是将文本框中输入的字符串显示在网页上。【例11.1】基于C#的简单ASP.NET应用程序:功能是将文本框中输入的字符串显示在网页上。 11.2 Web基础和多层程序体系结构

  14. 创建步骤如下: (1)启动Visual Web Developer 2010,选择“File”|“New Web Site”,打开“New Web Site”新建网站对话框。在此对话框的“项目类型”框中选择“Visual C#”项,在“templates”模板框中选择“ASP.NET Empty Web Site”,即:ASP.NET 空的Web 网站,Web Location:的组合框中选择“File System”,表示创建在本地计算机上测试的新Web站点,将程序名设置为WebSite5: 11.2 Web基础和多层程序体系结构

  15. 11.2 Web基础和多层程序体系结构

  16. 11.2 Web基础和多层程序体系结构 • (2)向Web站点中添加一个Web Form:右键Solution Explorer中的工程名并选择Add New Item,选择Web Form,点击Add按钮

  17. 11.2 Web基础和多层程序体系结构 • (3)在生成界面的“Solution Explorer”中右击“Default.aspx”节点,在弹出的菜单中选择“View Designer”视图设计器,或点击“Default.aspx” 编辑视图下面的“Design”设计,可打开页面的视图设计器。 • (4)将工具箱中的三个控件拖到设计界面中,这三个控件分别是Label、TextBox和Button控件,并适当设置它们的属性和位置:

  18. (5)在设计界面中,双击【访问控件】按钮,即可进入到该按钮的事件处理函数中,实际上是在Default.aspx.cs文件中生成了Button1_Click函数。在该函数中,添加下列代码:(5)在设计界面中,双击【访问控件】按钮,即可进入到该按钮的事件处理函数中,实际上是在Default.aspx.cs文件中生成了Button1_Click函数。在该函数中,添加下列代码: Label1.Text = TextBox1.Text; Label1.Font.Size = 20; (6)运行程序MyFirstWebApp。方法是:按【Ctrl】+【F5】按钮直接运行,也可以单击快捷菜单栏上的“启动调试”按钮(相当于按【F5】)。在打开的IE浏览器界面的文本框中输入一些字符串,然后单击【访问控件】按钮。 11.2 Web基础和多层程序体系结构

  19. 说明: .NET平台采用了界面和代码分开的策略,即网页文件放在.aspx文件中,而C#代码则放在.aspx.cs文件中。 .aspx.cs文件是与页面元素相关联的C#文件,是ASP.NET代码隐藏的地方。对ASP.NET应用程序来说,这里就是程序员的“用武之地”。 当用户将控件拖到Web窗体设计界面时,会自动生成相应的HTML代码和C#代码。这为Web应用程序的可视化界面设计提供极大的便利。 11.2 Web基础和多层程序体系结构

  20. 11.3 ASP.NET控件和对象 • 11.3.1 ASP.NET控件 • 11.3.2 ASP.NE常用对象

  21. 11.3 ASP.NET控件和对象 11.3.1 ASP.NET控件 • ASP.NET控件主要分为两大类:Web窗体控件和HTML控件: • Web窗体控件是服务器端控件,HTML控件是客户端控件: • Web窗体控件在服务器端运行,不要求客户端浏览器支持Web窗体控件(如不要求安装.NET Framework等),浏览器显示窗体控件运行后输出的结果; • HTML控件是客户端控件,只有浏览器支持这些控件,它们才能运行。 • Web窗体控件是以C# 为脚本语言,功能十分强大。HTML控件则以javascript等为脚本语言,功能较前者弱。 • 在设计界面上,当双击Web窗体控件时,会自动在.cs文件中形成并打开控件的Click事件处理函数(C#语言),以供用户编写代码;当双击HTML控件时,则会自动在.aspx文件中形成并打开控件的onclick事件处理函数(javascript语言)。

  22. 11.3 ASP.NET控件和对象 11.3.2 ASP.NET常用对象 1. Response对象 2. Request对象 3. Server对象 4. Session对象和Application对象

  23. 1. Response对象 • Response对象封装了返回到http客户端的输出。 • 系统根据用户的请求(打开一个页面)自动创建一个Response对象。该对象用于向客户端传递或输出相关的信息,包括用户定义的内容、内容的报头、服务器的状态等。 • 向客户端输出指定的内容,由客户端解释执行。例如: Response.Write("今天的日期时间:"); Response.Write(DateTime.Now.ToString()); • 重定向到指定的URL。例如: Response.Redirect("http://www.sohu.com/"); //重定向到“搜狐”主页 • 重定向到WebForm1.aspx页面的同时传递字符串“abc”: Response.Redirect("WebForm1.aspx?strname=" + "abc");

  24. 2. Request对象 • Request对象封装了由web浏览器或其他客户端生成的http请求的细节(参数,属性和数据),当客户端浏览器向ASP.NET服务器端程序发出请求时,服务器端程序将针对请求的答应信息封装在Request对象中,客户端通过调用Request对象的属性和方法可以获取想要的信息。 • 例如,下面语句重定向到WebForm1.aspx页面,同时传递三个信息项: • Response.Redirect("WebForm1.aspx?s1=str1&s2=str2&s3=str3"); • 在WebForm1.aspx页面中可以用下面三条语句分别获取这三项信息: • string s; • s = Request.QueryString["s1"]; // 结果s = " str1" • s = Request.QueryString["s2"]; // 结果s = " str2" • s = Request.QueryString["s3"]; // 结果s = " str3“ • QueryString属性通常与Response对象的Redirect属性搭配使用

  25. 3. Server对象 • Server对象封装了服务器的相关信息,利用该对象提供的方法可以获取。 • MapPath()方法 • 返回与Web服务器上的指定虚拟路径相对应的物理文件路径,如: • Server.MapPath(“\\WebForm1.aspx”) 返回 “D:\VS2008\第11章\test1\test1\WebForm1.aspx”。 • Transfer()方法 • 该方法与Response对象的Redirect()方法具有相同调用方法。 • 下面两个语句的作用等效: • Response.Redirect("WebForm1.aspx?s1=str1&s2=str2"); • Server.Transfer("WebForm1.aspx?s1=str1&s2=str2");

  26. 4. Session对象和Application对象 • 共同点: • 都是用于在服务器端保存数据和对象; • 都是object类型的数组,使用方法相同,可以通过对象名或下标引用其中的对象; • 通常用于保存用户信息、实现会话跟踪等功能。 • 不同点: • 作用范围不同: • Session对象的作用范围是一次会话期内(简单来说,就是从打开网页到关闭网页这个时间段),只为一个用户所拥有; • Application对象的作用范围则是Web服务器的一次生存期(从启动服务器到关闭服务器这个时间段),可为所有用户共享。

  27. 4. Session对象和Application对象 • 下面两条语句的作用是将字符串“Petter”和“C_sharp”依次添加到Session对象中: Session["username"] = "Petter"; Session["userpass"] = "C_sharp"; • 这两个字符串在Session中的“名称”分别为username和userpass,通过它们的名称即可访问相应的数据和对象。例如,对于下列语句: Response.Write(Session["username"] + "<br>"); //执行后将输出: Petter Response.Write(Session["userpass"] + "<br>"); //执行后将输出: C_sharp

  28. 本讲小结 关于ASP.NET Web基础和多层程序体系结构 ASP.NET控件和对象

More Related