Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每

一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用

时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如

果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户

之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点

多个用户之间在所有页面中共享信息。

SessionID属性 
  该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。 
  我曾在开发过程中就遇到对用户的控制问题。它要实现的功能就是,针对某

个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员

名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块

。我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员

登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged

",同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先

判断其是否登录,若已经登录再判断它的SessionID是否与数据库记录的相同,

如果不同则不能访问。这样,当另一个用户用相同的会员名登录时,那么数据库

中记录的就是新的SessionID,前者访问此模块时就不能通过检查。这就实现了

一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特别

作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。

SESSION应用的一个场合的更多相关文章

  1. 用redis来实现Session保存的一个简单Demo

    现在很多项目都用Redis(RedisSessionStateProvider)来保存Session数据,但是最近遇到一个比较典型的情况,需要把用户数据全部load到redis里面,在加上RedisS ...

  2. 解决session只能被一个浏览器访问的问题

    做购物车的时候,我们都知道购买的东西会保存到session中,但是光这样简单的保存起来就会带来一个问题,只能呢被同一个浏览器访问到,如果用户使用不同的浏览器进行访问网页的话肯定是会出问题的.下面就来针 ...

  3. JSP中,EL表达式向session中取出一个attribute和JSP脚本访问session取出一个attribute,写法有何不同?(转自百度知道)

    EL表达式使用起来会更简洁,假如session中有一个属性A(attrA),那么EL和jsp脚本取值的方式如下: EL表达式:${ sessionScope.attrA } JSP脚本:<%=s ...

  4. PHP使用Session遇到的一个Permission denied Notice解决办法

    搜索 session.save_path 在这里你有两个选择,一个是像我一样用; 把这一行注释掉,另一个选择就是修改一个 nobody 用户可以操作的目录,也就是说有读写权限的目录,我也查了下这个默认 ...

  5. 配置进程外Session 同时解决一个奇怪的BUG 因为SQLserver 服务器名不是默认的.或者localhost而引发的一系列问题

    用公司的电脑学习如鹏网的视频,开发一个项目,用到了进程外session,因为公司电脑SQLServer 是2008 服务器名称是.  然后参考这篇文章进行设置进程外session 很顺利 完成了设置. ...

  6. php 不能取得session值的一个解决方法

    1.确认下<?php session_start(); ?> 这句话是不是在<HTML> 标志之前.  不在的话,请放到<HTML> 标志之前. 2.如果上面操作后 ...

  7. SpringBoot学习笔记(13)----使用Spring Session+redis实现一个简单的集群

    session集群的解决方案: 1.扩展指定server 利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略.缺点:耦合Tomcat/ ...

  8. 如何设置一个严格30分钟过期的Session(转载)

    本文地址: http://www.laruence.com/2012/01/10/2469.html 今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: &quo ...

  9. 如何设置一个严格30分钟过期的Session

    今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察 ...

随机推荐

  1. 让Category支持添加属性与成员变量【转载】

    Category是Objective-C中常用的语法特性,通过它可以很方便的为已有的类来添加函数.但是Category不允许为已有的类添加新的属性或者成员变量.     一种常见的办法是通过runti ...

  2. android requestLayout()重新请求布局

    在应用中有时会遇到,例如你listView 的设置的高度为warp_content 自适应,listView下方有个TextView但如果你删了一个listView的item 我们希望下面的TextV ...

  3. android 小游戏之数字猜猜

    http://www.cnblogs.com/whatbeg/p/4152333.html

  4. 走进Struts2(五)— 值栈和OGNL

    值栈 1.值栈是什么? 简单说:就是相应每个请求对象的轻量级的内存数据中心. Struts2引入值栈最大的优点就是:在大多数情况下,用户根本无须关心值栈,无论它在哪里,不用管它里面有什么,仅仅须要去获 ...

  5. MyEclipse中Save could not be completed

    在MyEclipse下编程时,保存的时候,假设出现例如以下图所看到的错误: - 刘立 - 707903908的博客" src="http://img0.ph.126.net/9y4 ...

  6. JS中setInterval、setTimeout不能传递带参数的函数的解决办法

    在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决. 一.采用字符串形式:——(缺陷)参数不能被周期性改 ...

  7. Node-Webkit - package.json - 参数设置

    必填: main :(string)APP的主入口,指定一个html文件,如:main:"index.htm". name :(string)APP的名称,必须具有唯一性. 例子: ...

  8. IOS超强表格控件GMGridView

    本文转载至 http://zyc-to.blog.163.com/blog/static/1715240020124235837247/ 介绍: iOS为我们提供UITableView类,实现了项目的 ...

  9. LINQ分页工具

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Co ...

  10. Lorenzo Von Matterhorn(STL_map的应用)

    Lorenzo Von Matterhorn time limit per test 1 second memory limit per test 256 megabytes input standa ...