幻灯片 1 - 精品课程建设网 湖州师范学院

Download Report

Transcript 幻灯片 1 - 精品课程建设网 湖州师范学院

第12章 Web窗体应用程序
的创建
本章要点
12.1 Web应用程序介绍
12.2 建立ASP.NET的运行环境
12.3 建立ASP.NET工程
12.4 ASP.NET的常用控件
12.5 ASP.NET的常用对象
12.6 发布Web应用程序
本章小结
习题12
2015/7/18
1
本章要点
Web应用程序基本知识
ASP.NET常用控件
ASP.NET对象
ASP.NET应用程序的发布
2015/7/18
2
12.1
Web应用程序介绍
 12.1.1
 12.1.2
2015/7/18
Web的概念
Web程序的发展
3
12.1.1
Web的概念
 1.Web服务
 2.客户/服务器结构
2015/7/18
4
1.Web服务
目前Internet已经渗入到人们生活的每一个角
落,它为人们提供了电子邮件、文件传输、远程登
录、电子公告、WWW等服务功能。其中WWW服务又称
为Web服务,是目前Interet上最方便、最受用户欢
迎的信息服务类型,它的影响力已远远超出了专业
技术范畴,已经进入各个领域。
在Web环境中,信息是以Web页(即通常所说的网
页)的形式出现的,超文本和超媒体是Web页上信息
的基本组织方式。所谓超文本或超媒体是指带有超
级链接的文本或媒体,通过单击超链接可以在Web页
面之间进行跳转,从而使整个Internet上的Web环境
成为一个整体。
2015/7/18
5
2.客户/服务器结构
Web系统是一种特殊的客户/服务器结构。网络
的主要功能是进行资源共享,在网络世界中,需要共
享的程序或资源一般被存放到一种称为服务器
(Server)的计算机上,用户可使用自己计算机上的特
定软件访问这台服务器,用户的计算机被称为客户机
(Client)。服务器端负责处理来自客户端的请求,而
客户端则负责和用户进行交互。二者之间通过通信建
立了称为客户/服务器(Client/Server,C/S)的运
算模型。
在客户/服务器体系结构中,应用程序逻辑或放
在客户端,称为胖客户端模式;或放在服务器端,称
作胖服务器端模式或瘦客户端模式。另外,也可以在
客户端和服务器端各放置一些应用程序逻辑。
2015/7/18
6
2.客户/服务器结构
Web应用程序使用客户/服务器的体系结构。在
服务器上,由Internet信息服务(IIS,Internet
Information Services)负责管理Web应用程序。
Web应用程序用户界面由客户机的浏览器解释和
显示。其应用程序逻辑可以插入到用户界面文档中
作为客户端脚本(如使用VBScript和JavaScript脚本
语言),一起被传送到客户机上在Web浏览器中执行;
或作为服务器端脚本驻留在服务器上(如使用ASP,
JSP等服务器脚本语言),处理结束后将结果发送给
客户机。
2015/7/18
7
12.1.2
Web程序的发展
Web程序的发展基本上可分成三个阶段:HTML语言、
Script描述语言、ASP与ASP.NET语言阶段。
1.HTML语言阶段
HTML(Hyper Text Markup Language,超文本标记
语言)是一种用来制作超文本文档的简单标记语言,
是标准广义置标语言(Standard Generalized
Markup Language,SGML)的一个子集。用HTML编
写的超文本文档能独立于各种操作系统平台。
2015/7/18
8
12.1.2
Web程序的发展
2.Script语言阶段
为了克服HTML语言设计网页的缺点,人们又设计
了另一种Web程序设计方法——HTML+Script语言方法,
常用的Script语言有JavaScript和VBScript。通过使
用这些Script语言,网页的设计工作变得更加方便灵
活,同时设计出来的网页功能更强大、使用更方便。
这种Web程序设计也有一个明显的缺点,就是网
络的传输量大大增加。原因是网络不仅仅需要传输页
面代码,还要传输程序中使用到的控件,而这些控件
一般比页面代码本身要大很多倍。
2015/7/18
9
12.1.2
Web程序的发展
3.ASP与ASP.NET
ASP(Active Server Page)是一种在Web应用程
序中创建动态Web页面的服务器端脚本技术,由
Microsoft公司于1996年11月推出。ASP既不是一种
程序语言,也不是一种开发工具,而是一种技术框
架。ASP能产生和执行动态、交互式、高效率的Web
应用程序。
ASP.NET是ASP的.NET版本。ASP.NET不是ASP的
简单升级,而是全新一代的动态网页实现系统,用
于Web服务器建立强大的应用程序,是微软发展的新
体系结构.NET的一部分,是ASP和.NET技术的结合。
2015/7/18
10
12.2
建立ASP.NET的运行环境
ASP.NET开发环境对计算机的硬件要求如下:
 CPU:PII 300 MHz以上,推荐使用PIII 600 MHz
以上。
 内存:96 MB,推荐使用128 MB以上。
 硬盘空间:完全安装方式至少需要250 MB,快速
安装方式需要至少155 MB。
 显示器:要求分辨率至少800x600,支持256种以
上的颜色数。
 ASP.NET对软件环境的要求较高,它只能在
Windows 2000 Profession SPl、Windows 2000
Server SPl、Windows XP及更高版本中运行。
2015/7/18
11
12.2
建立ASP.NET的运行环境
具体步骤如下:
(1)双击【控制面板】中的【添加或删除程序】图 标、
在出现的【添加或删除程序】对话框中选中【添加
/删除Windows组件】,在【Windows组件向导】对
话框中选中【Internet信息服务】然后单击【下一
步】按钮以安装它。
(2)双击【控制面板】中的【管理工具】,再双击
【Internet 信息服务】图标,将会出现【Intemet
信息服务】对话框。在该对话框中展开左侧的树型
视图,在【默认 Web 站点】上单击鼠标右键,从
弹出的快捷菜单中选择【所有任务】中的【配置服
务器扩展】,不用理会出现的警告信息,按照向导
提示逐步完成FrontPage 2000服务器扩展的配置。
2015/7/18
12
12.3
建立ASP.NET工程
新建ASP.NET工程也是Visual Basic .NET提供的
一种项目类型。选择新建ASP.NET工程, 显示的新建
工程的路径只是一个http指向的路径。这个路径指
向什么地方,项目就建立在什么地方。
添加一行ASP.NET代码:
<% Response.Write(Now())%>
<% %>括起来的是ASP.NET代码,外面的是标准的
HTML代码。执行程序,会自动打开IE,并显示出当
前系统的时间。这样利用Now函数就把当前系统的时
间通过浏览器显示出来。
2015/7/18
13
12.4
ASP.NET的常用控件
ASP.NET为用户提供了一些控件和对象用来帮助
用户快速、简单地完成Web应用程序的设计。
在ASP.NET中控件可分为HTML控件和Web窗体控件
两大类。
12.4.1 HTML控件
12.4.2 Web控件
12.4.3 比较HTML控件和Web窗体控件
2015/7/18
14
12.4.1
HTML控件
ASP.NET中的第一组控件称为HTML控件。这些控件
位于System.Web.UI.HtmlControls命名空间中,
是从HtmlControl基类中直接或间接派生出来的
可以直接应用脚本语言来生成HTML控件。
例如,下面的HTML可以创建一个名为MyHtmlText的
HtmlInputText控件的实例:
<INPUT style=″z-INDEX:104;LEFT:360px;WIDTH:249px;
POSITION:absolute;TOP: 142px; HEIGHT: 62px″
type=″text″ size=″36″ name=″MyHtmlText ″ title=
″ Test text ″ value=″hello″>
2015/7/18
15
12.4.1
HTML控件
【例12-1】在Web窗体页面中使用HTML控件。
(1)从工具箱中选择HTML选项卡。
(2)将Button按钮拖拽到Web窗体页面【设计】视图上。
(3)在Web窗体的HTML视图上可以看出增加了标准HTML标
记如下:
<INPUT style=″Z-INDEX:101;LEFT:72px;
POSITION:absolute;TOP:56px″ type=″button″
value=″Button″>
(4)在Web窗体页面【设计】视图上,双击刚刚添加的
Button按钮。
(5)在Web窗体页面【设计】视图上,右击Button按钮,
在弹出菜单中选择【作为服务器控件运行】子菜单。
2015/7/18
16
12.4.1
HTML控件
(6)转换以后的Button按钮上多出了一个带方框的小箭
头。
(7)切换到Web窗体页面的HTML视图上,可以看到HTML代
码如下:
<INPUT style=″z-INDEX:101;LEFT:72px;
POSITION:absolute;TOP:56px″ type=″
button″ value=″ Button″ id=″Button1″
name=″ Button1″ runat=″ server″ >
(8)在Web窗体页面的【设计】视图上双击Button按钮,
可切换到代码编辑窗口,对HTML控件的Button编写应
用程序逻辑。
2015/7/18
17
12.4.2
Web控件
ASP.NET中的第二组服务器控件是
Web窗体控件。这些控件位于
System.Web.UI.WebControls命名空
间中,是从WebControl的基类中直接或
间接派生出来的。
Web窗体工具箱中,可以看到一些
控件与前面介绍过的Windows窗体控件
相同,如标签控件Label、文本框控件
TextBox等。此外有一些Web窗体专用的
控件,如链接按钮LinkButton、表格控
件Table等。
2015/7/18
18
12.4.2
Web控件
【例12-2】在Web窗体页面中使用Web控件。
(1)从工具箱中选择【Web窗体】选项卡。
(2)将Button按钮拖到Web窗体页面【设计】视图上。
(3)在Web窗体的HTML视图上可以看出增加的代码不是
标准HTML标记。
<asp:Button id=“Button2”style=“Z-INDEX:101;LEFT:
64px;POSITION:absolute;TOP:56px”runat=“server”T
ext“ Button”Width=“72px”></asp:Button>
(4)在Web窗体页面的【设计】视图上,双击刚刚添加的
Button按钮,可切换到代码编辑窗口,对Web控件的
Button编写应用程序逻辑。
2015/7/18
19
12.4.3 比较HTML控件和Web窗体控件
在同一Web窗体页面中可以混合使用HTML控件和
Web控件。由于这两种控件在某些功能上有重叠区域,
因此,需要根据具体需求和服务器控件的功能来决定
选择使用HTML控件还是Web控件。
一般来说,Web控件比HTML控件功能强一些,并
且具有功能更丰富的对象模型。如果打算编写Web窗
体页以便所有处理都在服务器上进行,则Web服务器
控件应是首选。Web控件直接控制服务器控件如何显
示在发送给浏览器的页面上的能力相对较弱。
2015/7/18
20
12.5





2015/7/18
ASP.NET的常用对象
12.5.1
12.5.2
12.5.3
12.5.4
12.5.5
Page对象
Response对象
Request对象
Server对象
Application对象和Session对象
21
12.5.1
Page对象
Page对象表示客户机请求的页面,即已编译
运行的页面,该页面来自于.aspx文件。
 1.Page对象的常用属性
 2.Page对象的常用事件
2015/7/18
22
1.Page对象的常用属性
(1) Application属性
为当前Web请求获取Application对象。
(2)IsPostBack属性
用于获取一个逻辑值,该值指示当前页面是否正为响应
客户端回发而加载或正在被首次加载和访问。
(3)Request属性
用于获取请求Web页的httpRequest对象。
(4)Response属性
用于获取与Page对象相关的httpResponse对象。
(5)Server属性
用于获取Server对象。
(6)Session属性
用于获取ASP.NET提供的当前Session对象。
2015/7/18
23
2.Page对象的常用事件
Page对象的常用事件有Load(装
入)和UnLoad(卸载)事件。前者在Web
页面被加载时触发,而后者则在Web
页面结束时触发。
2015/7/18
24
12.5.2
Response对象
Response对象主要功能是向浏览器输出信息。
1.向浏览器输出数据(Response.Write)
2.网页转向(Response.Redirect)
3.停止向浏览器输出数据(Response.End())
4.Buffer属性
5.向浏览器输出文件(Response.WriteFile)
2015/7/18
25
12.5.2
Response对象
【例12-3】使用Response.WriteFile。
源程序:writefile.aspx
<% @ Page Language=″WB″Debug=″true″ %>
<%
dim FileName
FileName=Server,MapPath(″/″)+″file.txt″
Response、WriteFile(FileName)
%>
2015/7/18
26
12.5.3
Request对象
Request对象是从System. Web命
名空间中的httpRequest类派生出来
的。当客户端浏览器请求ASP.NET应
用程序时,CLR将客户端请求信息封
装在Request对象中,包括请求报头、
请求方法、参数名称、参数值等。
2015/7/18
27
12.5.3
Request对象
Request对象的主要属性有:
(1)UserHostAddress属性
UserHostAddress属性用于返回用户的IP地址。
下列添加到Page_Load事件中的语句可以实现拒绝某
特定主机或某网络中所有主机对当前Web页的访问。
(2) QueryString属性
利用QueryString属性获取数据也是常用的方法,
以Get方法提交时,用Request.Querystting接收数
据,或读取超级链接后面的参数时使用该方法。
2015/7/18
28
12.5.3
Request对象
(3)Browser 属性
Request对象的Browser属性用来返回客
户端浏览器的信息和客户端操作系统的
信息。
【例12-6】获取服务器有关信息,使用
Request对象的ServerVariables属性。
创建一个新的ASP.NET Web应用程序
项目,在WebForm1的Page_Load事件中
添加如下代码。
2015/7/18
29
Private Sub Page_Load(By Val sender As System.Object,By
Vale As System.EventArgs)HandlesMy-Base.Load
Response.Write(″<p><font size=5><b>服务器信息</b></
font></p>″)
Response.Write(″本地IP地址:″&
Request.ServerVariables.Item(″Local_Addr″) & ″<bt>″)
Response.Write(″当前被请求的相对路径:″&
Request.ServerVariables.Item(″Path_Info″) & ″<br>″)
Response.Write(″当前被请求的绝对路径:″&
Request.ServerVariables.Item(″Path_Translat-ed″) &
″<br>″)
Response.Write(″服务器名称:″&
Request.ServerVariables.Item(″Server_Name″) & ″<br>″)
Response.Write(″服务器端口:″&
Request.ServerVariables.Item(″Server_Port″) & ″<br>″)
Response.Write(″响应请求的服务程序:″&
Request.ServerVariables.Item(″Server_SoftWare″) &
2015/7/18″<br>″)
30
12.5.4 Server对象
Server对象提供了访问服务的方法和属性,其常用的
方法主要有以下几个:
1.MapPath方法
把网页URL路径转换成服务器的实际路径。如,D:\
www.是某站点的根目录,则Server.mappath(″/
4.htm″)语句将返回D:\www\4.htm
2.Transfer方法
Server对象的Transfer方法与前面介绍过的Response
对象的Redirect方法十分相似,都是用于将当前页面
重定向到另一个页面中。例如,下列语句将页面重定
向到WebForm2.aspx。
Sever.Transfer(″webform2,aspx″)
2015/7/18
31
12.5.4 Server对象
3.HTMLEncode方法
该方法对特殊字符如“<”和“>”进行编码,使之
不再被视为HTML标记;例如:
Response,Write(Server.HtmlEncode(″<h3>不再
表示标题3,而要将HTML标记显示出来</h3>″))
4.URLEncode方法
空格和汉字等对URL地址来说都是特殊字符,所以若
网扯中包含特殊字符,就需要用Server.URLEncode
对特殊对象进行编码。下列语句使用Server对象的
URLEncode方法对URL数据进行了编码,从而使之能
正确地显示在浏览器中。
Response.Redirect(webform2.aspx?para=″&
Server.UrlEncode(″%good-bye%″))
2015/7/18
32
12.5.5
Application对象
和Session对象
Application对象是一个比较重
要的对象,理解该对象的关键是,所
有的用户公用一个Application对象,
当网站服务器开启,就创建了
Application对象,所有的用户都可
以对Appli-cation进行修改。利用
Application这一特性,可以方便地
创建聊天室和网站计数器等常用网页
应用程序。
2015/7/18
33
12.5.5





2015/7/18
Application对象
和Session对象
1.Application对象
2.Session对象
3.Application对象和Session对象的区别
4.向Application对象或Session对象输入数据
5.以Application对象或Session对象中取出数据
34
1.Appiication对象
一个Application就是在硬盘上的一组主页以及
ASPX文件,当一个ASP.NET加入了一个Application,
那么它就拥有了作为单独主页所无法拥有的属性。
数据可以在Application内部共享,因此可以覆
盖多个用户;一个Application包含的事件可以触发
某些Application脚本;一个对象的例子可以被整个
Application共享;个别的Application可以用
Internet Service Manager设置而获得不同属性;单
独的Application可以隔离出来,在它们自己的内存
中运行。
一个网站可以有不止一个Application,根据针
对于个别任务的一些ASP文件创建个别的Application。
2015/7/18
35
2.Session对象
Session其实指的就是访问者从到达某个特定主
页到离开为止的那段时间,每个访问者都会单独获得
一个Session。
Session可以用来储存访问者的一些喜好,这些
信息可以依据Session来跟踪。
Session还可以创建虚拟购物篮。无论什么时候用
户在网站中选择了一种产品,那么这种产品就会进入
购物篮,当用户准备离开时,就可以立即对以上所有
选择的产品进行订购,这些购物信息会被保存在
Session中。
最后,Sessions还可以用来跟踪访问者的习惯,
对于站点的更新和定位是非常有好处的。
2015/7/18
36
3.Application对象和Session对象的区别
Application对象和Session对
象都可在服务器端保存数据或对象,
但Application对象中保存的信息
是为所有来访的浏览器共享的,而
Session对象保存的数据则是仅为
特定的来访者共享的。
2015/7/18
37
4.向Application对象或Session对象输
入数据
向Application对象输入数据的方
法十分简单,下列语句将一个字符串
输入对象中:
Application(″book_name″)=″Visu
al studio.NET数据″
2015/7/18
38
5.以Application对象或Session对象中
取出数据
下列语句表示了如何从
Application对象或Session对象中取
出数据的原理:
Dim str1 str2
str1=Application (″book_name″)
str2=Session(″book_name″)
Application(″book_name″)=″″
Session(″book_name″)=″″
2015/7/18
39
【例12-8】利用Session实现购物车。
案例名称:肉铺
源程序:sessionl.aspx
< % @ Page Language =″VB″% >
<HTML>
<HEAD TITLE>用户名</TITLE></HEAD>
<BODY>
< %
if(Request(″B1″)=″提交″)then
Session(″s1″)=Request(″c1″)
Session(″s2″)=Request(″c2″)
2015/7/18
40
Session(″s3″)=Request(″c3″)
End if
% >
各种肉大甩卖,一律十块:
<form method=″POST″ action=″sessionl.aspx″>
<p>
</p>
<p><input type=″checkbox″name=″c1′value=″猪
肉″>猪肉</p>
<p><input type=″checkbox″name=″c2″value=″牛
肉″>牛肉</p>
<p><input type=″checkbox″name=″c3″value=″羊
肉″>羊肉</p>
2015/7/18
41
<p><input type=″submit″value=″提交
″name=″Bl″ ><input type=″reset″value=″全
部重写″name=″B2″>< a
href=″session2.aspx″>买点别的</a>
< a href=″session3.aspx″>查看购物车</a>
</p>
</form>
</BODY>
</HTML>
以上的程序实现了一个最简单的肉铺功能,只是
为了说明Session的特性。当用户购买了一些商品后,
单击“提交”按钮,就会把信息提交到购物车中。
2015/7/18
42
12.6
发布Web应用程序
为了能将创建的Web应用程序供其他用户通过浏
览器访问,需要将其发布到一个Web站点中。在
ASP.NET中可以向对待ASP应用程序那样使用FTP方式,
将项目包含的所有文件上传到由网络管理员预先分配
给的一个位于Web服务器上的文件夹中。
12.6.1 部署Web应用程序
12.6.2 安装Web应用程序
2015/7/18
43
12.6.1
部署Web应用程序
当一个Web应用程序设计、调试完毕后,要将
其发布到其他计算机或服务器中供他人使用就要
对其进行部署。操作步骤如下。
在Visual Studio.NET环境中打开设计、调试
完毕的应用程序项目,执行“文件”菜单“添加
项目”下的“新建项目”命令。在“项目类型”
窗格中选择“安装和部署项目”,在“模板”窗
格中选择“Web安装项目”并指定安装包文件夹的
名称和保存位置后单击【确定】按钮。
在打开的窗口中右键单击“Web应用程序文件
夹”项,在弹出的快捷菜单中执行“添加”下的
“项目输出”命令。
2015/7/18
44
12.6.1
部署Web应用程序
如果项目中包含有Access数据库文件应再次
在“Web应用程序文件夹”处单击右键,在弹出的
快捷菜单中执行“添加文件”命令,在打开的对
话框中将其添加进来。
在左窗格中选择“Web应用程序文件夹”,
在右侧的属性窗口中设置“VirtualDirectory属
性和“DefaultDocument属性。
设置完毕后,
执行“生成”菜单下的“生成XXX”命令,如本例
的“生成sy-13”命令。经过一段时间的文件处理
完成Web应用程序的打包部署操作。
2015/7/18
45
12.6.2
安装Web应用程序
将部署完成的安装包文件夹复制到其他计算
机或服务器中,若该计算机已经正确安装并配置了
IIS,则可直接运行安装包“Debug”文件夹中的
“Setup.exe”程序并开始发布Web应用程序到Web
服务器中。
安装过程十分简单,用户安装屏幕提示即可
顺利地完成安装。
如果使用的是windows XP系统,则应在选中
“共享”选项卡后,单击“权限”按钮,才能看到
权限配置对话框。
2015/7/18
46
本章小结
数据库应用程序随处可见,掌握数据
库应用程序的开发方法首先需要掌握数
据库的基础知识,在VB .NET开发环境中,
还需要掌握ADO.NET。
本章简要介绍了一些常用的数据库基
础知识,并详细介绍了ADO.NET对象模型
及其使用方法。通过范例讲解了数据绑
定和DataGrid控件。最后还介绍了使用
Data Form Wizard快速开发数据库应用
程序的方法。
2015/7/18
47
习题 12
1.使用HTML语言,在Windows“记事本”程序中编
写HTML代码,制作学生登记成绩表,要求能在浏
览器中正确显示字体、字型、字号等格式。
2.使用ADO.NET控件创建一个用于学生考试成绩查
询的Web应用程序。设已在Ac-cess数据库
student.mdb中创建了“学生成绩”表。其中包
括“学号”、“姓名”、“性别”、“班级”、
“数学”、“语文”和“英语”字段。
2015/7/18
48
习题 12
3.创建并在服务器上发布一个Web应用程序。要求当
用户通过浏览器访问程序发布站点的URL时。当用
户选择了相应的数据后,单击【提交】按钮,在页
面的下方将显示出用户提交的信息。如果用户没有
输入“姓名”,则仅显示“出错:你至少要输入姓
名!”;如果用户在“爱好”列表中没有进行任何
选择,则在相应栏中显示“真可惜,你没有任何爱
好!”。
2015/7/18
49
谢谢!
2015/7/18
50