我们将制作一个能够记住访问者姓名的页面,在这个小案例中,你将学会如何使用Request对象的Cookies、Form以及ServerVariables集合的值,还可以学习到如何使用Response对象来发送Cookies。

首先来看看程序代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>用Cookies记住访问者的姓名</title>
</head>
<body>
<%
Dim sUserName
sUserName = Trim(Request.Cookies("name"))
'判断name是否为空,不为空则输出name的值
If sUserName = "" Then
'判断是否是POST刚提交了表单,是的话则获取表单内容输出Cookies
If UCase(Trim(Request.ServerVariables("REQUEST_METHOD"))) = "POST" Then
sUserName = Trim(Request.Form("name"))
Response.Cookies("name") = sUserName
Response.Cookies("name").Expires = DateAdd("d", 1, Now)
'Cookies一天后过期
Response.Write("我已经记住您的姓名了!")
Else
'否则显示表单,让用户提交表单
%>
<form method="post" action="">
请告诉我您的姓名 : <input name="name" type="text"/>
<input type="submit" value="提交" />
</form>
<%
End If
Else
Response.Write("您好," & sUserName)
End If
%>
</body>
</html>

首次运行,无法获取 Cookies 信息,显示表单,让用户提交,如下图:

提交表单,还是POST到当前ASP页面,因为还是无法获取Cookies,所以显示提交表单成功的页面,如下图:

再次刷新当前页面 RequestCookies.asp ,因为可以获取到Cookies,直接显示访问者姓名了。


我们再详细讲解下让用户输入姓名并保存的部分,首先获取ServerVariables变量REQUEST_METHOD的值,这个值标识了当前页面的请求方式,如果是POST方式,说明现在正在想此页面提交表单,这时就要获取表单的值,并且将其使用Response.Cookies集合来向客户端输出Cookies,否则显示供用户填写姓名的HTML代码。

小知识

Trim函数删除字符串两边的空格,LTrim函数删除字符串左侧空格,RTrim函数删除字符串右侧空格。

UCase函数把指定字符串转化为大写,LCase函数把指定字符串转化为小写。

示例代码下载

RequestCookies.rar

ASP入门(九)-Request对象小案例的更多相关文章

  1. javascript入门视频第一天 小案例制作 零基础开始学习javascript

    JavaScript 是我们网页设计师必备的技能之一.我们主要用javascript来写的是网页特效.我们从零基础开始学习javascript入门. 但是,好的同学刚开始不知道怎么学习,接触js,因此 ...

  2. Python 在windows上安装BeautifulSoup和request以及小案例

    Python以及PyCharm安装成功后,操作如下: 此时,代码import requests不报错了. 那么,Python 在windows上安装BeautifulSoup,怎么操作呢? 1. 打开 ...

  3. 02SpringMvc_springmvc快速入门小案例(XML版本)

    这篇文章中,我们要写一个入门案例,去整体了解整个SpringMVC. 先给出整个项目的结构图:

  4. ASP入门(十二)-Application对象

    在一起协同工作以完成某项任务的一组ASP文件称为一个应用程序.Application 对象用于把这些文件捆绑在一起. Application 对象用于在整个应用程序生存期间保存信息. Applicat ...

  5. Asp.net内置对象之Request对象(概述及应用)

    Request对象主要用于获取来自客户端的数据,如用户填入表单的数据.保存在客户端的Cookie等,本文将围绕Request对象,讲解其的主要作用:读取窗体变量.读取查询字符串变量.取得Web服务器端 ...

  6. Hibernate的介绍及入门小案例

    1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...

  7. asp.net中Response对象鱼Request对象

    在asp.net中Response与Request对象是两个常用的对象,虽然他们长得有点像,但是作用却是截然不同,我们来看一下他们他们都有哪些不同. 一.Response对象主要作用:像浏览器输出信息 ...

  8. 初识 Asp.Net内置对象之Request对象

    Request对象 Request对象用于检索从浏览器向服务器所发送的请求信息.它提供对当前页请求的访问,包括标题,Cookie,客户端证书等等.它也与HTTP协议的请求消息对应. Request对象 ...

  9. ch1-vuejs基础入门(hw v-bind v-if v-for v-on v-model 应用组件简介 小案例)

    1 hello world 引入vue.min.js 代码: ----2.0+版本 <div id="test"> {{str}} </div> <s ...

随机推荐

  1. Go语言基础:method

    我们在C语言中,struct中声明函数,而Go中则不能再struct中声明函数.而是采用另外一种形态存在,Go中叫method. method的概念 method是附属在一个给定的类型上,语法和函数的 ...

  2. .NET 开源Protobuf-net从入门到精通

    <.NET 开源Protobuf-net从入门到精通>课程包含以下两个部分: 一..NET 开源Protobuf-net组件[数据存储篇] 本次分享课程包含以下干货知识点: 1.什么是Pr ...

  3. 查看sqlserver2008数据库服务器实例名称

    select @@SERVICENAME 安装SQLServer时,如果不另外设置数据库实例名称,那么默认的数据库实例名就是MSSQLSERVER

  4. 微软为何选择在 Github 上开源 .NET 核心?

    本文来自微软开源.NET 的一篇公告 ,文中阐述了微软为何选择在 Github 开源.NET,以及微软对开源和开源社区方面的认识的变迁. 对于.NET来说,今天(2014/11/12)是个大日子! 我 ...

  5. 在ASP.NET MVC中实现Select多选

    我们知道,在ASP.NET MVC中实现多选Select的话,使用Html.ListBoxFor或Html.ListBox方法就可以.在实际应用中,到底该如何设计View Model, 控制器如何接收 ...

  6. 【Android】开源项目汇总-备用

    from://http://www.eoeandroid.com/home.php?mod=space&uid=765778&do=blog&id=47674 Android开 ...

  7. 使用PHP+Sphinx建立高效的站内搜索引擎

      1.    为什么要使用Sphinx   假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方 ...

  8. 架构:The Onion Architecture : part 2(洋葱架构:第二篇)(转载)

    原位地址:http://jeffreypalermo.com/blog/the-onion-architecture-part-2/. In part 1, I introduced an archi ...

  9. fastjson转换对象,属性首字母大小写的问题

    请求Json数据的时候,传递过去的String类型转Json数据的时候经常有首字母是大写的情况,例如"LoginAccount":"02:00:00:62:73:74&q ...

  10. C#设置有命令空间的属性

    之前被问到一个问题,C#中如何设置android:name这样的属性?我的第一反应是直接setAttribute不就可以了么 SetAttribute(name, value), 可事实上却不行,因为 ...