一般来说,在实际开发中,对于 Session 对象使用最多的就是用户登录部分了,这个案例将简单模拟一个用户登录表单、用户是否登录的判断以及用户退出的一系列功能,它一共分了以下几个页面。

Login.asp (用户登录)、Check.asp (用户是否已经登录判断)、Logout.asp (用户退出)

Login.asp 用户登录部分

我们将要完成用户登录表单的显示,以及提交后,对于用户输入密码的判断和写 Session 的操作,主要代码如下:

<%
Dim sPassword
'判断是否POST提交单表,开始登录
If UCase(Request.ServerVariables("REQUEST_METHOD")) = "POST" Then
'提交表单登录,判断密码
sPassword = Trim(Request.Form("password"))
If sPassword = "123456" Then
Session("password") = "123456"
Response.Write("<h3>您已经登录成功!请访问<a href=""Check.asp"">登录检查文件</a></h3>")
Else
Response.Write("<h3>您输入的密码有误!</h3>")
'Response.End()
End If
Else
'显示表单,让用户登录
%>
<form method="post" action="">
请输入密码:<input name="password" type="text"/>
<input type="submit" value="提交"/>
</form>
<%
End If
%>

运行效果如下:

登录成功,显示如下:

Check.asp 登录判断部分

用来检查用户 Session,从而判断是否已经登录,主要代码如下:

<%
Dim sPassword
sPassword = Trim(Session("password"))
if sPassword = "" Then
Response.Write("<h3>您还没有登录呢,请访问<a href=""Login.asp"">登录表单</a></h3>")
Else
Response.Write("<h3>您已经登录了,可以访问<a href=""Logout.asp"">退出页面</a></h3>")
End If
%>

如果成功登录显示:

如果没有登录显示:

Logout.asp 用户退出部分

通过 Session 的 Remove 方法来清空 Cookies,从而实现用户的退出。主要代码如下:

<%
Session.Contents.Remove("password")
Response.Write("<h3>成功退出,可以访问<a href=""Login.asp"">登录页面</a></h3>")
%>

运行后显示:

示例代码下载

SessionLogin.rar

ASP入门(十一)-Session小案例的更多相关文章

  1. Session小案例------完成用户登录

    Session小案例------完成用户登录     在项目开发中,用户登陆功能再平常只是啦,当用户完毕username和password校验后.进入主界面,须要在主界面中显示用户的信息,此时用ses ...

  2. Session小案例-----简单购物车的使用

    Session小案例-----简单购物车的使用 同上篇一样,这里的处理请求和页面显示相同用的都是servlet. 功能实现例如以下: 1,显示站点的全部商品 2.用户点击购买后,可以记住用户选择的商品 ...

  3. Hibernate入门(十一)多对多案例

    Hibernate多对多案例 1.用户对角色 DROP TABLE IF EXISTS emp_role; DROP TABLE IF EXISTS employee; DROP TABLE IF E ...

  4. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

  5. ASP入门(九)-Request对象小案例

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

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

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

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

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

  8. 8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署

    这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说 ...

  9. spring boot入门小案例

    spring boot 入门小案例搭建 (1) 在Eclipse中新建一个maven project项目,目录结构如下所示: cn.com.rxyb中存放spring boot的启动类,applica ...

随机推荐

  1. LPC18xx/43xx OTP Controller driver

    LPC18xx/43xx OTP Controller driver /* * @brief LPC18xx/43xx OTP Controller driver * * @note * Copyri ...

  2. External Input Counter and External interrupt

    External Input Counter and External interrupt : count the input signal from the button. So what is t ...

  3. USBDM BDM Interface for Freescale Microcontroller -- Hardware

    USBDM BDM Interface for Freescale Microcontroller -- Hardware Adapter_4_0_0 - Adapter for Coldfire - ...

  4. What is CMSIS-DAP

    The mbed HDK and mbed-enabled hardware support the CMSIS-DAP debug interface, which consists of an a ...

  5. C# MD5 32位加密 UTF-8编码

    项目开发过程中需要用到MD5加密,最开始的使用使用加密方法: public static string GetMD5(string str)        {            byte[] b ...

  6. 在Android.mk文件中输出打印消息

    http://www.xuebuyuan.com/1947880.html 在进行Android NDK的开发当中有时想看看Android.mk文件当中某个变量的值,可以再Android.mk文件当中 ...

  7. 记linux下rm误删bin文件的解决方式

    平常有个坏习惯,删文件为了快点,喜欢用rm xx*,删除一些关键词文件.今天为了删/bin下几个含有mix关键词的文件,使用命令rm mix*.手贱,mix和*之间多了个空格...灾难发生了!bin下 ...

  8. IntelliJ IDEA2018.1、2017.3激活

    IntelliJ IDEA2018.1.2017.3破解教程 http://idea.java.sx/ 简单快捷!! ————————————————————————————————————————  ...

  9. Android使用代码模拟HOME键的功能

    Intent intent= new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.addF ...

  10. 解决appcompat中各种奇葩的错误

    一.依赖/脱离appcompat 在新版本中Google跟新了一个依赖包,这个包包含了v4和v7的东西(v7是要依赖v4这个包的,所以用到v7时必须用一起的v4),只要你的编译版本compile wi ...