问管理实体的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 15:40:20
我在一个类中定义了一个map,我想把用户登录后的实体放进去,这样的话,我想在jsp的任何地方都能通过这个类中的map来得到登录后的user,可是我如果把user的id作为key,user的实体作为value放进去的话。。
那怎么在jsp的任意地方,得到呢。
我想写一个方法,getUserById,可是我又不知道id,如果把id放在session中的话,session会超时,到时候就麻烦了。。
我想的是不要放在session中还可以取得到map中的value,user实体,该怎么做呢,请高手指点。
问下二楼,如何用filter过滤,假如我想让它通过时

你的这个思路很新颖,这样做就减少了查询数据库的次数。
但与此同时增加了内存的负担。

但你却忽略了一个问题,当用户直接关闭浏览器,而未正常退出时,你怎么去销毁这个 User 对象?

这是一个非常严重的内存泄露问题。

而 Session 的定时销毁机制,正好解决了这一问题。

你说:session会超时,到时候就麻烦了。。

我觉得没有什么麻烦的,只要在 Filter 中过滤一下不就 OK 了吗。要么通过,要么重新登陆。

【提示】

Session 中存放,不应该以 ID 为 key,而是一个固定的 String。 如 "user" 。

就是放在session中啊,不放在session中你在别的页面怎么取到啊!!为什么会超时啊!