ASP内置对象—Request、Response 、Server、Application 、ObjectContent (二)
Response (应答)对象
Request 对象。用于在HTTP请求期间,訪问不论什么client浏览器传递给server的信息,包含通过URL传递的參数信息、使用GET方法或POST方法传递的HTML表单数据、Cookie和用户认证信息等。
页面重定向,并传递參数(防乱码处理)
Response.Redirect("~/modifyReader.aspx?key="+ Server.UrlEncode(key));
Cookie的存储
- 通过Response对象的Cookie集合存储。
<span style="font-size:24px;"><span style="white-space:pre"> </span>Response.Cookies["username"].Value= "徐凤竹";</span>
- 通过HttpCookie对象的实例存储。
<span style="font-size:24px;"><span style="white-space:pre"> </span>HttpCookiecookie = new HttpCookie("username","徐凤竹");
<span style="white-space:pre"> </span>Response.Cookies.Add(cookie);</span>
- 多值Cookie的存储。
<span style="font-size:24px;">Response.Cookies["LoginInfo"]["username"] = "徐凤竹";
Response.Cookies["LoginInfo"]["password"]= "123456";</span>
<span style="font-size:24px;"> HttpCookie cookie = new HttpCookie("LoginInfo");
cookie.Values ["username"]="徐凤竹";
cookie.Values["password"]= "123456";
Response.Cookies.Add(cookie);</span><span style="font-size:18px;">
</span>
缓冲页面输出
Response 对象的Buffer属性用于指定是否缓冲页面输出。假设缓冲页输出,仅仅有当页面的全部server脚本处理完成。或者Flush、End方法被调用,server才将输出发送给client。
Buffer属性必须在不论什么输出之前进行设置,也就是说,应该在.asp文档的首行调用Response.Buffer。当server将信息发送给client就不能再设置Buffer属性了。
Server 对象语法
Server 对象的语法格式:
Server[.property|method]
语法说明:
- property。对象的属性(ScriptTimeout属性,指定脚本超时期限)。
- method,方法
- CreateObject,创建组件对象、
- HTMLEncode,对字符串进行HTML编码。
- MapPath,将相对路径或虚拟路径映射成server上的物理路径。
- URLEncode,对字符串进行URL编码。
Session (会话)对象
Session 对象能够用于存储特定的用户会话所需的信息。
这样。当用户在应用程序的页面之间跳转时,存储在session对象中的变量不会丢失。而是在整个会话中始终存在。
当用户请求来自应用程序的web页时。假设该用户还没有会话,则webserver将自己主动创建一个session对象。当会话过期或被放弃后。server将终止该会话。
我们希望后台管理在多长时间没有操作的情况下,让session失效。又一次登录,能够使用session.timeout=5,以分钟为单位,表示5分钟之内没有其它操作,就失效,或者在配置文件里配置<sessionStatetimeout="5" mode="InProc" />也能够。
简单说说session的几个方法的差别:
Session.clear():表示将会话中全部的session的键值都清空,可是session还是依旧存在,同等于Session.RemoveAll()
Session[“admin”]=null:表示将制定的键的值清空,并释放掉,和session[“admin”]=””不一样,它清空了。可是session不释放,同等于session.Remove(“name”);
Session.Abandon()就是把当前Session对象删除了。下一次就是新的Session了。
基本的不同之处在于当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法。而Session.Clear仅仅是清除Session中的全部数据并不会中止该Session。因此也不会调用那些方法,Abandon方法用于主动结束会话。若没有调用该方法,当会话超时后,也会自己主动结束当前会话。
补充:
清除cookie
A、
<span style="font-size:24px;">tpCookie cookie =System.Web.HttpContext.Current.Request.Cookies.Get("tuser");
cookie.Expires =DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);</span>
B、
<span style="font-size:24px;">tpCookie httpCookie =Request.Cookies["httpCookie"];
httpCookie.Expires =DateTime.Now.AddDays(-1);
Response.Cookies.Add(httpCookie);</span>
AB两种方法都能够
Session 与Cookie的差别
- Session是存在server端的;而Cookie是存在client的。
- Session更不须要Cookie来支持和不会受浏览器端的设置影响,可记录每一个訪问者的信息,独立在server端。比Cookie安全。
- Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,能够改动其“存活”时间。
Application (应用程序)对象
使用Application对象能够在应用程序的全部用户之间进行数据信息共享,并在server执行期间持久的保存数据。
Application 对象的语法格式:
Application[.collection|method](variable)
语法说明例如以下:
- collection,对象的集合。
- Contents 。获取应用程序中的静态对象
- StaticObject ,获取应用程序中的静态对象。
- method,对象方法。
- Lock ,锁定应用程序对象。
- Unlock 。解锁应用程序对象 。
- variable,对象的成员变量。
此外。Application对象还包含Application_OnStart(应用程序開始)和Application_OnEnd(应用程序结束)等两个事件,这两个事件都必须放在Global.asa文件里。
在应用程序中共享数据
Application 对象的Contents集合和StaticObjects集合包括应用程序中全部的共享信息数据,与Session对象的对应集合基本类似。
安全地共享数据
由于多个用户能够共享Application 对象,所以须要Lock方法和Unlock方法以确保多个用户无法同一时候更改Application 对象。
Lock方法用于阻止其它用户改动存储在Application 对象中的对象,以确保在同一时刻仅有一个用户能够改动和存取Application 对象。
Unlock 方法用于解除使用Lock方法锁定的Application 对象。之后其它用户才干够对该Application 对象中的对象进行訪问。假设用户没有显示的调用Unlock方法,则server将在ASP文件结束或超时后,解除对Application 对象的锁定。
<span style="font-size:24px;">Application.Lock
Application.Unlock</span>
总结
- ASP内置对象
- Request 对象。包含读取验证字段信息、读取Cookie数据、读取表单或URL传递的数据、读取server环境变量等内容。
- Response 对象,包含写入Cookie数据、缓冲页面输出、页面重定向、将数据输出到页面等内容。
- Server 对象。包含脚本超时期限、创建组件对象、对字符串进行HTML或URL编码、映射到server物理路径等。
- Session 对象,包含读取会话中的数据、读取会话标识、删除会话对象等内容。
- Application 对象,包含在应用程序中共享数据、安全地共享数据等内容。
ASP内置对象—Request、Response 、Server、Application 、ObjectContent (二)的更多相关文章
- JavaWeb——JSP内置对象request,response,重定向与转发 学习总结
什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...
- jsp内置对象之response、out、config、exception、pageContext。
本文是对Jsp内置对象的response.out.config.exception.pageContext知识点的详细总结. response对象 Response内置对象和request内置对象是相 ...
- Webform(五)——内置对象(Response、Request)和Repeater中的数据增删改
一.内置对象 (一)Response对象 1.简介:response 对象在ASP中负责将信息传递给用户.Response对象用于动态响应客户端请求,并将动态生成的响应结果返回到客户端浏览器中,使用R ...
- 初识 Asp.Net内置对象之Response对象
Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...
- Struts2初学 Struts2在Action获取内置对象request,session,application(即ServletContext)
truts2在Action中如何访问request,session,application(即ServletContext)对象???? 方式一:与Servlet API解耦的方式 可以使用 ...
- JSP的内置对象 request和response
文章目录 1.request对象 2.response响应对象 3.out输出对象 4.session会话对象 5.application应用对象 概述 在使用JSP内置对象的时候.不需要先定义这些对 ...
- 内置对象session ,cookic,Application,ViewState
一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie ...
- Webform(七)——内置对象(Session、Application)和Repeater的Command操作
内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. 一.内置对象 (一)Session 跟Cookies一样用来存储用户数据 1.Session.Cookies对比 ...
- JSP学习笔记 - 内置对象 Request
1.主要掌握以下5个内置对象及其所属类,必须学会在java docs里根据类名查找相应的方法 request javax.servlet.http.HttpServletRequest res ...
随机推荐
- Balloons(DFS)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2248 题意:(1)求图中四连块(有公共边的方块 ...
- thinkphp session db配置
这篇文章主要介绍了ThinkPHP实现将SESSION存入MYSQL的方法,需要的朋友可以参考下 本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是Thi ...
- Gym - 101981D The 2018 ICPC Asia Nanjing Regional Contest D.Country Meow 最小球覆盖
题面 题意:给你100个三维空间里的点,让你求一个点,使得他到所有点距离最大的值最小,也就是让你找一个最小的球覆盖掉这n个点 题解:红书模板题,这题也因为数据小,精度也不高,所以也可以用随机算法,模拟 ...
- Gym - 101981A The 2018 ICPC Asia Nanjing Regional Contest A.Adrien and Austin 简单博弈
题面 题意:一堆有n个石子,编号从1⋯N排成一列,两个人Adrien 和Austin玩游戏,每次可以取1⋯K个连续编号的石子,Adrien先手,谁不能取了则输 题解:k==1时,显然和n奇偶相关,当k ...
- 浅谈自学Python之路(day3)
今天的主要内容是: 撒 文件操作 对文件操作的流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: tonghuazhen 听说白雪公主在逃跑 小红帽在担心 ...
- java实现读取yaml文件,并获取值
首先在项目src目录下新建一个test.yaml的文件. 代码如下: spring: application: name: cruncher datasource: driverClassName: ...
- Django中关于MySQL的bug总结
bug one: You are trying to add a non-nullable field 'height' to person without a default; we can't d ...
- vue-cli脚手架安装过程(精简版)
1:打开node的控制台,并找到对应的文件夹 2:检查node的版本 node -v 3:检查npm的版本 npm -v 4:检查cnpm的版本 cnpm -v 5:安装全局及脚手架 cnpm ins ...
- Linux 与 Windows 文件互传(VMWare)
虚拟机无桌面的Linux 与 物理机Windows 文件互传有很多种方法,现在先说一种通过共享文件夹的形式,其他方法后续再补充 1. 背景 1) 虚拟机系统:VMWare无桌面的 ...
- 【SQL】BETWEEN操作符
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围. 操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围.这些值可以是数值.文本或者日期. 注意: ...