您好,欢迎访问三七文档
哈尔滨学院工学院教案周次第周,第24次课授课时间200年月日/星期授课时数章节名称第六章页面计数器的应用技术授课方式课堂讲授(√);实验课(√);多媒体教学(√);网络教学();双语()教学目的在本章中,我们通过最普遍的页面计数的不同设计方法,讲解利用数据库、文本文件、cookie对象和Global.asax,来完成页面计数器的方法,从而进一步掌握状态管理和文本文件的读取写入技巧教学重点1.Global.asax的用法2.文本文的读取与写入教学难点1.lobal.asax的用法2.文的读取与写入教学方法多媒体教学教学环境多媒体实验室教学用具多媒体计算机及网络教学过程及内容备注1.利用数据库设计页面计数器2.利用COOKIES设计页面计数器3.利用文本文件设计页面计数器4.Global.asax文件的用法教学过程及内容备注一.利用数据库设计页面计数器步骤:1使用CONNECTION对象连接数据库;2建立COMMAND对象3读取数据表中的数字4数字+15建立第二个COMMAND对象,将数字写回数据库,这里面SQL语句使用的是“UPDATE语句”%@PageLanguage=C#%%@ImportNamespace=System.Data.OleDb%%@ImportNamespace=System.Data%!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN=serverprotectedvoidPage_Load(objectsender,EventArgse){stringmystr,mysql;OleDbConnectionmyconn=newOleDbConnection();mystr=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(~\\App_data\\Stud.mdb);myconn.ConnectionString=mystr;myconn.Open();mysql=SELECTnuFROMnn;OleDbCommandmycmd=newOleDbCommand(mysql,myconn);intnn=(int)mycmd.ExecuteScalar();nn=nn+1;Label1.Text=您是第+nn.ToString()+位访客;stringsql=update[nn]setnu=+nn;OleDbCommandmycmd1=newOleDbCommand(sql,myconn);mycmd1.ExecuteNonQuery();myconn.Close();}/scripthtmlxmlns=教学过程及内容备注headrunat=servertitle无标题页/title/headbodyformid=form1runat=serverdivasp:LabelID=Label1runat=serverText=Label/asp:Label/div/form/body/html二.利用COOKIES设计页面计数器步骤:1首先判断COOKIES对象里的值是否为空2如果为空则写入13不为空则读取出来,+14显示在页面上,5写回COOKIES参照书P180页6.2.46.2.4CookieCookie用来保存少量的数据,因为都是保存在客户端,有它的优点,但用它来保存的数据安全性都不是很高。1.什么是CookieCookie储存在客户端文件系统的文本文件中,或是客户端浏览器会话内的内存中,且只能含少量信息。伴随着用户请求和页面在Web服务器和浏览器之间传递。Cookie包含每次用户访问站点时Web应用程序都可以读取的信息。2.使用Cookie浏览器负责管理用户系统上的Cookie。Cookie通过HttpResponse对象发送到浏览器,该对象公开称为Cookies的集合。可以将HttpResponse对象作为Page类的Response属性来访问。保存Cookie保存Cookie有两种方法:直接操作Response的Cookies集合,例如:Response.Cookies[username].value=mike;Response.Cookies[username].Expires=DateTime.MaxValue;先建立Cookie对象,再添加Response的Cookies集合,例如:HttpCookieacookie=newHttpCookie(last);acookie.Value=a;Response.Cookies.Add(acookie);调置有效期教学过程及内容备注控制Cookie的范围默认情况下,一个站点的全部Cookie都一起存储在客户端上,而且所有Cookie都会随着对该站点发送的任何请求一起发送到服务器。也就是说,一个站点中的每个页面都能获得该站点的所有Cookie。但是,可以通过两种方式设置Cookie的范围:将Cookie的范围限制到服务器上的某个文件夹,这允许将Cookie限制到站点上的某个应用程序。将范围设置为某个域,这允许您指定域中的哪些子域可以访问Cookie。若要将Cookie限制到服务器上的某个文件夹,请按下面的示例设置Cookie的Path属性:appCookie.Path=/Application1;acookie..Expires=DateTime.MaxValue;Response.Cookies.Add(acookie);读取Cookie浏览器向服务器发出请求时,会随请求一起发送Cookie。在ASP.NET应用程序中,可以使用HttpRequest对象读取Cookie。在获取Cookie的值之前,应该确保该Cookie确实存在。否则,会出现异常。if(Request.Cookies[username]!=null){stringstr=Request.Cookies[username].Value;}//多值Cookie的读取if(Request.Cookies[userInfo1]!=null){stringname=Request.Cookies[userInfo1][name];stringlast=Request.Cookies[userInfo1][last];}修改Cookie修改的方法与创建方法相同。删除Cookie将其有效期设置为过去的某个日期。当浏览器检查Cookie的有效期时,就会删除这个已过期的Cookie。例如:HttpCookiecookie=newHttpCookie(userinfo1);cookie.Expires=DateTime.Now.AddDays(-30);Response.Cookies.Add(cookie);源代码如下:%@PageLanguage=C#%!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN=server教学过程及内容备注protectedvoidPage_Load(objectsender,EventArgse){HttpCookiehc=Request.Cookies[myUser];if(hc==null){HttpCookiemyCookie=newHttpCookie(myUser,1);myCookie.Expires=DateTime.Now.AddDays(365.0);Response.Cookies.Add(myCookie);Response.Write(第一次访问);}else{intcount=int.Parse(hc.Value)+1;Response.Write(第+count+次访问);Response.Cookies[myUser].Value=count.ToString();}}/scripthtmlxmlns==servertitle无标题页/title/headbodyformid=form1runat=serverdiv/div/form/body/html三.文本文件计数器读写文件的一般步骤如下1、用FileStream对象打开文件2、要进行二进制读写操作,在FileStream对象周围包装BinaryReader和BinaryWriter的实例,并调用BinaryReader和BinaryWriter方法执行输入输出。教学过程及内容备注3、要读写文本,在FileStream对象的周围包装一个StreamReader和StreamWriter,然后使用StreamReader和StreamWriter方法完成输入输出。4、关闭FileStream对象。文本文件的读写操作1、使用FileStream、StreamReader、StreamWriterFileStreamfs=null;stringfileName=@c:\demo.txt;//写文件privatevoidbtnWrite_Click(objectsender,EventArgse){try{//这里使用FileMode.Create,创建一个文件,或如果有则重写fs=newFileStream(fileName,FileMode.Create,FileAccess.Write);//这里使用GB2312字符编码StreamWritersw=newStreamWriter(fs,System.Text.Encoding.GetEncoding(GB2312));sw.Write(richTextBox1.Text);sw.Close();}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{if(fs!=null)fs.Close();}}//读文件privatevoidbtnRead_Click(objectsender,EventArgse){try{//这里使用FileMode.Create,创建一个文件,或如果有则重写fs=newFileStream(fileName,FileMode.OpenOrCreate,FileAccess.Read);//使用GB2312字符编码,应该使用和保存文件时一样的编码方案StreamReadersr=newStreamReader(fs,System.Text.Encoding.GetEncoding(GB2312));richTextBox1.Text=sr.ReadToEnd();sr.Close();教学过程及内容备注}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{if(fs!=null)fs.Close();}}2、仅使用StreamReader、StreamWriterFileStreamfs=null;stringfileName=@c:\demo.txt;//读文件privatevoidbtnRead_Click(objectsender,EventArgse){StreamReadersr=null;try{//使用GB2312字符编码,应该使用和保存文件时一样的编码方案sr=newStreamReader(fileName,System.Text.Encoding.Ge
本文标题:网络编程教案24
链接地址:https://www.777doc.com/doc-2142935 .html