HTTP请求、响应及状态管理.ppt

上传人:max****ui 文档编号:3307714 上传时间:2019-12-11 格式:PPT 页数:44 大小:2.68MB
返回 下载 相关 举报
HTTP请求、响应及状态管理.ppt_第1页
第1页 / 共44页
HTTP请求、响应及状态管理.ppt_第2页
第2页 / 共44页
HTTP请求、响应及状态管理.ppt_第3页
第3页 / 共44页
点击查看更多>>
资源描述
ASP.Net程序设计,张凯计算机学院软件工程系,2010年9月15日,第五章HTTP请求、响应及状态管理,Request对象,Response对象,Server对象,Session对象,4,1,2,3,Application对象,5,ViewState对象,6,ASP.NET内置对象,问题提出,Page2页面如何获取Page1的数据,ASP.NET内置对象,ASP.NET页包含了很多用于页面请求处理的对象,开发人员通过调用这些对象及其属性可以实现页面相关业务的处理逻辑。,Request对象,Request对象使服务器端能够在程序中读取客户端的信息以及获取在Web请求的同时发送给服务器端的数据,它是Page对象的成员之一,所以在程序中不用实例化就可以使用。,Request对象,Request对象,示例1:获取客户端信息、服务器环境变量,Request对象,应用程序虚拟根路径:当前请求的虚拟路径:客户端浏览器的类型:客户端浏览器的版本号:根目录的物理路径:URL物理路径:客户端的IP主机地址:当前请求的端口号:客户端的DNS名称:请求方式:客户端发送的内容长度:表单提交来的值:,示例1:获取客户端信息、服务器环境变量,Request对象,Page2页面如何获取Page1的数据,示例2:从浏览器获取数据(Get、Post),Request对象,Default.aspx,Page2.aspx,提交数据的form使用method=post方法或者不指定method,示例2:从浏览器获取数据,Request对象,Default.aspx,Page2.aspx,提交数据的form使用method=get方法,http:/localhost:49158/Page2.aspx?textbox1=12,示例2:从浏览器获取数据,Request对象,Request.Params“TextBox1”或RequestTextBox1,示例2:从浏览器获取数据,Request对象,练习从页面传2个整数到add.aspx相加。,Response对象,Response对象的主要作用:输出数据给客户端。是否启用缓冲,设置或取得HTTP的输出字符编码,动态地向客户端输出内容,将客户端重定向到新的URL等。,Response对象,Response对象,实现向浏览器输出Hello:Response.Write(Hello);页面重定向到指定URL:Response.Redirect();实现向浏览器输出login.txt文件:假设login.txt:abcdeResponse.WriteFile(“login.txt”);/在页面上显示abcde,【返回】,Server对象,Server对象包含了与服务器相关的信息。例如:服务器端机器的名称,返回应用程序中一个文件的绝对径。,Server对象,Server对象,示例1:区别Execute和Transfer方法,Defalut.aspx.cs:protectedvoidPage_Load(objectsender,EventArgse)Server.Execute(WebForm2.aspx);/Server.Transfer(WebForm2.aspx);Response.Write(这是Default.aspx);WebForm2.aspx.cs:protectedvoidPage_Load(objectsender,EventArgse)Response.Write(这是WebForm2.aspx!);,Server对象,Execute方法,Transfer方法,Server对象,Response.Redirect()和Server.Transfer()区别,Server对象,问题提出,protectedvoidPage_Load(objectsender,EventArgse)stringstr=TestString;Response.Write(str);,Whichone?,Server对象,示例2:使用HtmlEncode和HTMLDecode方法,protectedvoidPage_Load(objectsender,EventArgse)stringstr=TestString;Response.Write(str);stringstrHtmlEncode=Server.HtmlEncode(str);Response.Write(strHtmlEncode+);stringstrHtmlDecode=Server.HtmlDecode(strHtmlEncode);Response.Write(strHtmlDecode+);,strHtmlEncode内容:,Server对象,示例3:使用MapPath方法获取物理文件路径Response.Write(Server.MapPath(Default.aspx);区别:Response.Write(Request.PhysicalApplicationPath);,【返回】,C:UserszzllDocumentsVisualStudio2008ProjectsWebApplication1WebApplication1Default.aspx,C:UserszzllDocumentsVisualStudio2008ProjectsWebApplication1WebApplication1,Session对象,问题提出,浏览器,实现同一个客户端多页面间的数据共享/传递,直到客户关闭浏览器,Session对象,Session对象代表服务器与客户端建立的会话从一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个Session(会话)。,Session对象,为什么需要Session?当一个客户访问一个服务器时,可能会在这个服务器的多个页面之间反复跳转,服务器应当通过某种办法来识别这是来自同一个客户的不同请求,这种办法通常就是使用Session对象。Session对象可以实现在一个会话期间的多页面间的数据共享/传递。,Session对象,Defalut.aspx:protectedvoidPage_Load(objectsender,EventArgse)SessionSName=wust;Server.Transfer(WebForm1.aspx);WebForm1.aspx:protectedvoidPage_Load(objectsender,EventArgse)SessionSName+=你好!;Server.Transfer(WebForm2.aspx);WebForm2.aspx:protectedvoidPage_Load(objectsender,EventArgse)Response.Write(SessionSName);,如果不赋值,SessionSName默认为null,Session对象,从页面传2个整数到add.aspx相加。,Session对象,protectedvoidButton1_Click(objectsender,EventArgse)Sessiona=TextBox1.Text;Sessionb=TextBox2.Text;Response.Redirect(Receive.aspx);Receive.aspx:protectedvoidPage_Load(objectsender,EventArgse)inta=int.Parse(Sessiona.ToString();intb=int.Parse(Sessionb.ToString();Response.Write(a+b);,Session对象主要属性,Session对象,Defalut.aspx:protectedvoidPage_Load(objectsender,EventArgse)SessionCount=0;SessionName=tom;Server.Transfer(WebForm1.aspx);WebForm1.aspx:protectedvoidPage_Load(objectsender,EventArgse)for(inti=0;i);,Session对象,Session对象(练习)购物车,模拟一个购物车功能:2个商品购买页面(可互相切换),一个购物车(显示购物列表)。,Session对象,Buy1.aspx,Buy2.aspx,Cart.aspx,Session对象,Buy1.aspx,卖点别的查看购物车,protectedvoidButton1_Click(objectsender,EventArgse)if(C1.Checked)Sessionb1=C1.Text;elseSessionb1=null;if(C2.Checked)Sessionb2=C2.Text;elseSessionb2=null;if(C3.Checked)Sessionb3=C3.Text;elseSessionb3=null;,Session对象,Buy2.aspx,卖点别的查看购物车,protectedvoidButton1_Click(objectsender,EventArgse)if(C4.Checked)Sessionb4=C4.Text;elseSessionb4=null;if(C5.Checked)Sessionb5=C5.Text;elseSessionb5=null;if(C6.Checked)Sessionb6=C6.Text;elseSessionb6=null;,Session对象,cart.aspx,您的购物车:);%返回,【返回】,Application对象,问题提出,浏览器,应用程序供享数据,浏览器,如何在应用程序的用户之间传递信息直到关闭Web服务器,Application对象,Application对象需要使用添加Global.asax多个用户间传递数据,由于存储在该对象中的数值所有用户读取,因此特别适合在多个用户之间传递信息。其生命周期为:一旦建立了Application对象,它就会持久地存在,直到关闭WEB服务器服务。,Application对象,页面访问量统计,protectedvoidPage_Load(objectsender,EventArgse)if(ApplicationCount=null)ApplicationCount=1;elseintn=(int)ApplicationCount;n+;ApplicationCount=n;Response.Write(页面访问量+ApplicationCount);,ViewState对象,ViewState是指ASP.net中用来保存web服务器控件在回传时状态值的一种机制。通过在发回给客户的网页中插入一个隐藏属性_VIEWSTATE,该元素的值是一个以base64标准编码的字符串,作为页面的状态存储库。存放了所有web控件在页面提交时显示的值。当客户端把页面回传时,分析回传的窗体(Form)属性,并附给控件对应的值。页上的任何控件,如果其内容不能通过标准的窗体post机制隐式回送,那就必须把它们的值保存到该字段中,并根据它还原。举例:一个html输入框和一个web服务器控件输入框。可以使用ViewState“name”=“dddd”;的方式来保存本页的一些数据,小结,Request对象浏览器获取数据(Get、Post)获取客户端信息、服务器环境变量Response对象Write、Redirect、WriteFileServer对象Session对象(服务器端、生命周期)Application对象(服务器端、生命周期)Cookie对象(客户端、生命周期)ViewState对象(客户端、生命周期),ThankYou!,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!