目前做的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匹配,如果不匹配则删除数据库的该条记录,返回登陆.如果匹配则再做下面的操作。
一般都是用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匹配,如果不匹配则删除数据库的该条记录,返回登陆.如果匹配则再做下面的操作。