`
qq2525
  • 浏览: 3425 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Session的get和set,存取用户信息

阅读更多
目前做的jsp项目遇到了比较传统的问题就是保存用户信息。
一般都是用session以及cookie。
由于一些主观上的问题,一直以为session.setAttribute("key",value);之后,
其他用户再次登陆继续session.setAttribute("key",value);会覆盖前面一个用户的信息。到后来实践才发现,这种情况几乎不存在(除非在一台机器上用户session.setAttribute("key",value)两次)。

因为每个用户所创建的session的session.getId()是不一样的,这样才能使一个session里面保存一个用户的信息,不会发生的覆盖赋值。

在用户访问页面时先判断session里面有没有用户的信息,没有的话先登陆,在数据库中插入session的id以及用户名信息,然后session.setAttribute("key",value),保存好用户信息,继续其他的操作。

如果有先根据用户名查询数据库存储的sessionid是否和当前id匹配,如果不匹配则删除数据库的该条记录,返回登陆.如果匹配则再做下面的操作。
分享到:
评论
3 楼 leeldy 2009-02-10  
gembler 写道
leeldy 写道
当浏览器关闭的时候,这个ID就消失了

超时才被干掉


嗯,有道理
浏览器关闭的时候一般不会告诉服务器:我关闭了,干掉我的Session ID吧
2 楼 gembler 2009-02-10  
leeldy 写道
当浏览器关闭的时候,这个ID就消失了

超时才被干掉
1 楼 leeldy 2009-02-10  
汗。。。
当用户通过浏览器连接服务器的时候,服务器会分配一个Session ID给用户
这个ID是唯一的,用来区分不同用户
当浏览器关闭的时候,这个ID就消失了

session.setAttribute("key",value)
不同用户用这条命令当然不会覆盖别人的数据,不然Session就没有多少存在的意义了

相关推荐

    前端session存储数据

    使用jQuery实现的Session管理通常会提供如`$.session.set()`和`$.session.get()`这样的方法,使得在SPA中处理Session变得更加便捷。 总结来说,JavaScript Session是前端开发中管理用户会话的关键技术,通过Cookie...

    JavaEE ActionContext存取数据示例

    ActionContext还提供了其他有用的方法,如`getParameters()`可以获取请求参数,`getServletContext()`可访问到Servlet的上下文对象,`getLocale()`则可以获取用户的本地化信息等。 总的来说,JavaEE ActionContext...

    Django Session和Cookie分别实现记住用户登录状态操作

    1. 在Django视图中,通过`request.session`对象,你可以存取和修改Session数据。例如,设置Session数据: ```python request.session['username'] = 'aaa' ``` 2. 若要从Session中获取数据,只需像访问字典一样访问`...

    jquerySession.js

    它旨在简化开发者在 Web 应用程序中对用户会话数据的存取和管理,使得在不熟悉原生 JavaScript Session API 或者想要更简洁的代码实现时,能够快速有效地处理会话数据。 **1. 什么是 Session?** 在 Web 开发中,...

    .net core 使用SESSION 文档

    同时,通过`ISession`接口,我们可以方便地在控制器和依赖注入组件中存取Session数据,甚至存储和检索复杂对象。这些变化使得.NET Core更适应现代开发模式,但同时也要求开发者了解新的工作流程。

    SpringMVC存取Session的两种方法

    在Web开发中,Session是一种常见的技术,用于在服务器端存储用户会话数据。在Spring MVC框架中,存取Session有两种主要方法。下面将详细介绍这两种方法。 **方法一:使用Servlet API** 在Spring MVC中,可以直接...

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    在本项目中,开发者可以通过Jedis与Redis服务器交互,存取和管理session数据。 5. **集成步骤**:将这个组件集成到Tomcat中,通常需要配置Tomcat的server.xml文件,指定sessionManager和manager,然后在web应用的...

    Python-使用Django来介绍CSRFandCookiesSession

    而Session则是服务器端存储用户信息的一种方式,相比于Cookie,Session数据更加安全,因为它们不会暴露在客户端。 1. **Django中的Cookie** - Django的`HttpResponse`类有一个`set_cookie`方法,用于设置Cookie。 ...

    基于PHP的红鸟Sessions类 v1.0.zip

    类库中的核心类可能包括`Session`或`Redbird\Session`,它拥有如`start()`, `set()`, `get()`, `destroy()`等方法,分别对应Session的开始、设置值、获取值和结束操作。这些方法使得代码更加清晰,更符合面向对象...

    .net基于Redis cluster的分布式Session演示程序应用

    在`GetItem`和`SetItem`方法中,使用`_db.StringSet`和`_db.StringGet`操作来存取Session数据,同时使用`_db.KeyExpire`设置过期时间。 **注册Session State Provider** 在Web.config中,将自定义的...

    php及codeigniter使用session-cookie的方法(详解)

    通过加载cookie助手,可以使用set_cookie()和get_cookie()函数来设置和获取cookie值。这些方法可以避免直接使用$_COOKIE数组带来的潜在错误。 2. 读写Session 在PHP中,session的使用通常通过session_start()函数...

    详解用Redis实现Session功能

    通过这种方式,我们可以利用Redis的强大功能,高效、安全地管理和存储Web应用的Session数据,提升用户体验,同时降低服务器端的压力。需要注意的是,实际应用中还需考虑异常处理、分布式锁、数据一致性等问题,以...

    详解Asp.net Core 使用Redis存储Session

    在`RedisCache`类中,关键的方法包括`Get`, `Set`, `Remove`等,用于存取和删除Session数据。 ```csharp public class RedisCache : IDistributedCache, IDisposable { // RedisCache的实现细节,包括连接Redis...

    浅析PHP分布式中Redis实现Session的方法

    在PHP分布式环境中,Session管理是不可或缺的一环,它涉及到用户状态的保持和跨服务器的数据共享。Redis作为一种高性能的键值数据库,常被用于分布式环境下的Session存储,以解决传统文件或数据库Session管理的问题...

    深入解析PHP中SESSION反序列化机制

    在会话启动后,可以通过`$_SESSION`数组来存取会话变量。 PHP会话反序列化机制涉及的一个重要方面是如何将存储在服务器上的数据反序列化回PHP变量。在某些情况下,恶意用户可能利用不当构造的输入来控制`...

    使用Struts2上传图片存取到Mysql中并读取出来显示在页面上_好资源0分送

    `UserService`接口及其实现类用于提供用户相关的业务逻辑处理,如保存用户信息等。示例如下: ```java public interface UserService { void saveUser(User user); } @Service public class UserServiceImpl ...

    Hibernate示例

    例如,通过 `session.get()` 获取用户,通过 `session.update()` 更新用户信息,通过 `session.delete()` 删除用户。 **Criteria 查询** 除了 HQL(Hibernate Query Language),Hibernate 还提供 Criteria API ...

    java面试题

    session对象与特定用户会话相关联,用于存储用户状态信息;application对象代表整个Web应用;out对象用于输出到客户端的响应;config对象提供servlet的配置信息;page对象引用当前JSP页面;最后,exception对象处理...

    2023年web面试题一答案.doc

    request:表达 HttpServletRequest 对象,它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie、header 和 session 数据的有用方法;response:表达 HttpServletResponse 对象,并提供了几个用于设立送回...

Global site tag (gtag.js) - Google Analytics