乱想-HTTP请求常用对象
写后台程序,要获取前台的请求等参数,返回响应,免不了接触Request,Response等对象,其实不止这些,还有其他的如:session,cookie等,ASP.NET是7个,JSP中是9个,因为我是NET下的coder,所以就介绍ASP.NET中的,这里转载一篇博文,对ASP.NET做了详细介绍。
http://blog.sina.com.cn/s/blog_4099e60a0101a6x5.html
一、ASP.NET 提供的7大内置对象:Response 服务器端将数据作为请求的结果发送到浏览器端(输出)Request 浏览器端对当前页请求的访问发送到服务器端(输入)Application 存储跨网页程序的变量或对象,中止于停止IIS服务(公用变量和对象)Session 存储跨网页程序的变量或对象,中止于联机离线或有效时间(单一用户对象)Server 定义一个与Web服务器相关的类提供对服务器上方法和属性的访问Cookie 保存客户端浏览器请求的服务器页面,存放保留非敏感用户信息Cache Web应用程序的缓存二、内置对象常用属性、方法或集合1.Response对象:Cache 获取Web页缓存策略(过期时间、保密性等) AppendToLog 自定义日志信息添加到IIS日志文件Charset 设置或获取HTTP的输出字符编码 Clear 将缓冲区的内容清除Expires 设置或获取浏览器上缓存页过期之前的分钟数 End 将目前所有缓冲区中的内容发送至客户端后关闭Cookies 获取当前请求的Cookie集合 Flush 将缓冲区中所有的数据发送至客户端IsClientConnected 传回客户端是否仍然和Server连接 Redirect 将网页重新导向另一个地址SuppressContent 是否将HTTP的内容发送到客户端浏览器,若为true,则网页将不会传至客户端 Write 将数据输出到客户端浏览器WriteFile 将指定的文件直接写入HTTP内容数据流 实例:Response.Write("欢迎光临天神的博客! ")Response.WriteFile(@"E:\test.txt");Response.Redirect("login.aspx");Response.Write("Response.End; 用于调试程序检测出错地点(放在最前面一步步往下检测)2. Request对象:ApplicationPath 获取服务器ASP.NET的虚拟应用程序根目录路径 MapPath 将请求的URL中的虚拟路径映射到服务器上的物理路径Browser 获取或设置有关正在请求的浏览器的功能信息 SaveAs 将HTTP请求保存到磁盘ContentLength 指定客户端发送的内容长度 Cookies 获取客户端发送的Cookie集合 FilePath 获取当前请求的虚拟路径 Files 获取采用多部分MIME格式的由客户端上载的文件集合 Form 获取窗体变量集合 Item 获取Cookies、Form、QueryStringServerVariables集合中指定的对象 Params 获取Cookies、Form、QueryStringServerVariables项的组合集合 Path 获取当前请求的虚拟路径 QueryString 获取HTTP查询字符串变量集合 UserHostAddress 获取远程客户端IP主机地址 UserHostName 获取远程客户端DNS名称(主机名) 实例:查询浏览器的相关信息Response.Write(Request.Browser.Platform);Response.Write(" ");Response.Write(Request.UsrHostAddress);Response.Write(" ");Response.Write(Request.QueryString);Response.Write(" ");this.Label.Text=Request.QueryString["接受值"]; //接受地址传值3.Application对象:Contents 用于访问应用程序状态集合中的对象名 AllKeys 返回全部Application对象变量名到一个字符串数组中 Add 新增一个Application对象变量StaticObjects 确定某对象指定属性的值或遍历集合,并检索所有静态对象的属性 Count 获取Application对象变量的数量 Clear 清除全部Application对象变量Item 允许使用索引或Application变量名称传回内容值 Lock 锁定全部Application对象变量Remove 使用变量名称移除一个Application对象变量RemoveAll 移除全部Application对象变量Set 使用变量名更新一个Application对象变量的内容UnLock 解除锁定Application对象变量语法:Application["变量"]="变量内容";实例:Application.Add("App1","Value1");Application.Add("App2","Value2");for(int i=0;i{Response.Write("变量名:"+Application.GetKey(i));Response.Write(",值:"+Application[i]+"
");}4.Session对象:Contents 用于确定指定会话项的值或遍历 TimeOut 传回或设定Session对象变量的有效时间,当使用者超过有效时间没有动作,Session对象就会失效,默认时间为20分钟 Abandon 结束当前会话,并清除会话中的所有信息。如果用户随后访问页面,可以为他创建新会话(重新建立会话)StaticObjects 确定某对象指定属性的值或遍历集合,并检索所有静态对象的所有属性 Clear 清除全部的Session对象变量,但不结束会话语法:Sessionp["变量名"]="内容"; //对象中存放信息VariablesName=Session["变量名"]; //从会话中读取信息实例:Session["name"]=this.Text1.Text; //放入Default.aspx页面中的TextBox控件Response.Redirect("Default.aspx");this.Label1.Text=Session["name"].ToString(); //在Default2.aspx页面中放入Label控件以读取会话中的信息。5. Server对象:MachineName 获取服务器的计算机名称 HttpDecode 对已被编码以消除无效HTML字符的字符串进行解码ScriptTimeOut 获取和设置请求超时值(以秒计) HttpEncode 对要在浏览器中显示的字符串进行编码MapPath 返回与Web服务器上的指定虚拟路径相对应的物理文件路径UrlDecode 对字符串进行解码,该字符串为了进行HTTP传输而进行编码并在URL中发送到服务器UrlEncode 编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输实例:Response.Write(Server.MapPath("Default.aspx"));Response.Write(Server.HtmlEncode("天神"));Response.Write(Server.HtmlDecode("天神羽翼"));Response.Write(Server.MachineName);Response.Write(Server.ScriptTimeOut);6. Cookie对象:Expires 设定Cookie的有效时间,默认为1000分钟,若设为0,则可以实时删除Cookie变量 Finalize 允许Object在“垃圾回收”回收Object之前尝试释放资源并执行其他清理操作Name 获取Cookie变量的名称 MemberwiseClone 创建当前Object的浅表副本Value 获取或设置Cookie变量的内容值 Path 获取或设置Cookie适用于的URL Port 获取或设置Cookie适用于的TCP端口的列表 语法:Response.Cookies[Name].Value="资料"; //要存储一个Cookie变量可以通过Response对象的Cookies集合变量名=Request.Cookies[Name].Value; //要取回Cookie,则要使用Request对象的Cookies集合,并将指定的Cookies集合返回。实例:if(Request.Cookies["user"]!=null){this.Label1.Text=Request.Cookies["user"]["username"];this.Label2.Text=Request.Cookies["user"]["password"];}HttpCookie aCookie;for(int i=0;i{ aCookie=Request.Cookies[i];this.Label3.Text=string.Format("Cookie 用户名={0} Cookie 值={1}",aCookie.Name,aCookie.Value);}}Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109。它是网景公司的前雇员Lou Montulli在1993年3月的发明。服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。程序代码//写入 protected void Button1_Click(object sender, EventArgs e) { HttpCookie cookie=new HttpCookie("MyCook");//初使化并设置Cookie的名称 DateTime dt=DateTime.Now; TimeSpan ts = new TimeSpan(0, 0, 1,0,0);//过期时间为1分钟 cookie.Expires = dt.Add(ts);//设置过期时间 cookie.Values.Add("userid", "userid_value"); cookie.Values.Add("userid2","userid2_value2"); Response.AppendCookie(cookie); //输出该Cookie的所有内容 //Response.Write(cookie.Value);//输出为:userid=userid_value&userid2=userid2_value2 }//读取 protected void Button2_Click(object sender, EventArgs e) {// HttpCookie cokie = new HttpCookie("MyCook");//初使化 if (Request.Cookies["MyCook"]!=null) { //Response.Write("Cookie中键值为userid的值:" + Request.Cookies["MyCook"]["userid"]);//整行 //Response.Write("Cookie中键值为userid2的值" + Request.Cookies["MyCook"]["userid2"]); Response.Write(Request.Cookies["MyCook"].Value);//输出全部的值 } }//修改Cookie protected void Button3_Click(object sender, EventArgs e) { //获取客户端的Cookie对象 HttpCookie cok = Request.Cookies["MyCook"]; if (cok != null) { //修改Cookie的两种方法 cok.Values["userid"] = "alter-value"; cok.Values.Set("userid", "alter-value");//往Cookie里加入新的内容 cok.Values.Set("newid", "newValue"); Response.AppendCookie(cok); } }//删除Cookie protected void Button4_Click(object sender, EventArgs e) {HttpCookie cok = Request.Cookies["MyCook"]; if (cok != null) { if (!CheckBox1.Checked) { cok.Values.Remove("userid");//移除键值为userid的值 } else { TimeSpan ts = new TimeSpan(-1, 0, 0, 0); cok.Expires = DateTime.Now.Add(ts);//删除整个Cookie,只要把过期时间设置为现在 } Response.AppendCookie(cok); } }7. Cache对象:Count 获取存储在缓存中的项数 Add 将指定项添加到Cache对象Item 获取或设置指定键处的缓存项 Get 从Cache对象检索指定项Insert 向Cache对象插入项。使用此方法的某一版本改写具有相同Key参数的现有Cache项Remove 从应用程序的Cache对象移除指定项实例:为用户显示缓存中的某一项赋值Cache.Add("Key1","Value",null,DateTime.Now.AddSeconds(60),TimeSpan.Zero,CacheItemPriority.High,onRemove);——————————————————— Global.asax ———————————————————Global.asax 文件响应ASP.NET和HTTP模块所引发的应用程序级别和会话级别事件的代码,运行时分析Global.asax文件并将其编译到一个动态生成的NET Framework类中,配置ASP.NET,以便自动拒绝对Global.asax文件的任何直接的URL请求,外部用户不能下载或查看其中的代码,它只在希望处理程序事件或会话事件时才创建它,不能用任何输出语句(比如Response.Write、HTML等),它用
转载于:https://www.cnblogs.com/zuiyirenjian/archive/2013/04/18/3028131.html
乱想-HTTP请求常用对象相关推荐
- httpservletrequest 设置请求头_请求和常用对象
## 一.主要内容 ![](https://raw.githubusercontent.com/Cushier/picture-java/master/middle/20190712150414.pn ...
- 常用对象操作:(4)
常用对象操作:(4) 1. Replication Controller与Replica Set 1.1 使用Replication Controller.Replica Set 管理Pod 前面我们 ...
- hashset java api_java常用对象API中集合框架之HashSet
之前在<java常用对象API之集合框架>这篇文章中已经将所有集合框架做了一个总体的大纲陈列,并阐述了所有Collection接口下的子接口和类的作用解释,那么接下来的文章智言还是想把里面 ...
- 小程序开发API之网络请求wx.reques、RequestTask网络请求任务对象及监听取消网络请求
wx.request(Object object) 发起 HTTPS 网络请求.使用前请阅读 网络的使用及注意事项 wx.request参数 object.method 的合法值 object.dat ...
- DOM_05之DOM、BOM常用对象
1.HTML DOM常用对象之Table:①创建:createTHead():createTBody():createTFoot():②删除:deleteTHead():deleteTFoot():③ ...
- 【JavaScript】JS的变量、数组、计算器案例、函数、类、常用对象的方法
目录 01-js-js的声明和引入 <!DOCTYPE html> <html><head><meta charset="UTF-8"&g ...
- C#-常用对象-思维导图
C#-常用对象-思维导图 链接:http://pan.baidu.com/s/1jHNgS78 密码:3i74 如有错误,请告知我! 转载于:https://www.cnblogs.com/welov ...
- BOM模型中常用对象 定义计数器 网页跳转 网页前进后退
今天上午学了的BOM模型中常用对象,了解了一部分的属性 For循环的规律 外层循环控制行 内层循环控制列 <!doctype html> <html> <head> ...
- Matlab_GUI学习笔记(五)——常用对象的属性之Line
Matlab_GUI学习笔记(五)--常用对象的属性之Line 1. Line 很多属性与之前的Figure与Axes属性差别不大,重点在于Line的核心属性Data. >> get(li ...
最新文章
- Docker下部署mysql
- 如何写一份让面试官眼前一亮的简历?
- 计算机原理综合设计实验报告,计算机组成原理--课程设计实验报告.doc
- maven+springMVC+Eclipse建立工程框架
- ElementUI中的el-table中实现动态添加一行、删除一行、清空所有行
- Python中关于进度条的6个实用技巧
- 北京.net俱乐部博客园小组成立了
- 【洛谷比赛】你的名字。
- Network Embedding 与 Graph Embedding
- 支持多分支语句吗_Go的条件判断语句
- perl index和rindex的用法
- Scala 循环(打断嵌套循环)
- MySQL 刷脏页问题
- 腾讯看点基于 Flink 构建万亿数据量下的实时数仓及实时查询系统
- asp 环境配置到mysql数据库增删改查
- 【资源分享】一款bootstrap开发的后台管理系统前端模板
- 设计模式 英文名Design Pattern
- IIS的安装及web服务器配置
- 原始人到春秋战国历史常识整理
- vue 不同条件展示不同页面_vue根据条件不同显示不同按钮的操作