Servlet2.1之后不支持SessionContext里面getSession(String id)方法。
但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext。
MySessionContext.java:
public class MySessionContext {
private static HashMap mymap = new HashMap();
public static synchronized void AddSession(HttpSession session) {
if (session != null) {
mymap.put(session.getId(), session);
}
}
public static synchronized void DelSession(HttpSession session) {
if (session != null) {
mymap.remove(session.getId());
}
}
public static synchronized HttpSession getSession(String session_id) {
if (session_id == null)
return null;
return (HttpSession) mymap.get(session_id);
}
}
MySessionListener.java:
public class MySessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
MySessionContext.AddSession(httpSessionEvent.getSession());
}
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
HttpSession session = httpSessionEvent.getSession();
MySessionContext.DelSession(session);
}
}
web.xml添加一个监听器:
<listener>
<listener-class>listener.MySessionListener</listener-class>
</listener>
根据sessionId获取Session对象:
String sessionId = request.getParameter("sessionId");
HttpSession session = MySessionContext.getSession(sessionId);
分享到:
相关推荐
服务器在创建session后,会把sessionid以cookie的形式回写给客户端。只要客户端的浏览器不关,每一次访问服务器都会带上这个sessionid。这样就可以在每次请求的时候获取到session的信息。 下面以spring MVC以例来...
通过session,我们可以在多次浏览器请求中保持数据, 接下来的部分就是用session来处理用户登录了。 当然,不能仅凭用户的一面之词,我们就相信,所以我们需要认证。 当然了,Django 也提供了工具来处理这样的常见...
比如,前面传入了一个id的值,nodejs获取就可以req.body.id即可 express的session验证 第一步安装cookie和session的模块,并引入 var session = require('express-session'); var cookieParser = require
● public Object getAttribute(String key):获取Session对象中含有关键字的对象。 ● public Boolean isNew():判断是否是一个新的客户。 4、Application对象 (1)什么时Application对象 ...
在介绍HTML5 web缓存前,来认识一下cookie和session: session: ...而session id是存储在cookie中的,也就是说如果浏览器禁用了cookie,那么session会失效!(但是可以通过其它方式实现,如:通过URL传递
我们知道,微信小程序发起的请求是通过腾讯的服务器再同意发送到我们的服务器的,而session一般是通过客户端cookie中的sessionid来识别客户端的,既然请求都是要通过腾讯的服务器发送到我们的服务器,那么我们的...
get 获取session值 getLocal 获取私有session值 set 设置session值 setLocal 设置私有session值 name 获取或者设置session_name is_set 是否设置session值 is_setLocal 是否设置私有session值 id 获取或者设置...
为什么要session共享? ... ... 客户端访问php页面,执行session_start,生成session_id,一般...客户端访问访问不同的页面都会把session_id传到服务端,通过session_id来获取session内容。 流程是这样,可是不同的服务器会对
session框架让你存储和获取访问者的数据信息,这些信息保存在服务器上(默认是数据库中),以 cookies 的方式发送和获取一个包含 session ID的值,并不是用cookies传递数据本身。 本文给大家详细介绍了关于django...
6、Session对象为空。 7、对控件赋文本值时,值不存在。 8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。 9、使用FindControl时,控件不存在却没有做预处理。 10、重复定义造成未将对象...
4.构建Session对象 5.开启事务 6.持久化操作 7.事务的提交(正常提交,不正常回滚) 8.关闭资源 主键增长策略: 1.increment:自动增长 select max(id) from table; 找到最大值之后+1赋给要持久化的对象 2....
// 3、获取到InputStream对象,并对内容进行处理 is = entity.getContent(); sc = new Scanner(is); // String filename = path.substring(path.lastIndexOf('/')+1); String filename = "2.txt"; os = ...
4.3 .1 session对象的ID 110 4.3.2 session对象存储数据 111 4.3.3 session对象的生存周期 115 4.3.4 session对象与URL重写 116 4.3.5 记数器 118 4.4 OUT对象 119 4.5 APPLICATION对象 121 4.5.1 applicaton对象的...
当所取出的记录是当前用户发布的聊天数据时(比较取出的聊天记录中的user_id是否与当前用户id相同,当前用户id从session中获取User类对象调用getId()获取),在聊天数据后面添加删除和修改链接。 用户点击删除链接时...
用户退出时清空cookie,关闭浏览器cookie自动清空,用户非正常退出下,需等待20分的session失效时间后方可正常登陆,监听session的失效方法在session失效时清空对应的sessionID和用户的关系,清空 用户和session的...
60、session时间与ID 61、Cookie有效时间的设置 62、利用隐藏字段传送数据 63、JSP 使用 JavaBean 的方法 64、JSP 使用 JavaBean 65、范围为 Page 的 JavaBean范例程序 66、范围为 Request的 JavaBean 67、范围为 ...
Util.js:工具js,封装一些ajax的请求方法以及创建ajax的方法还有模拟jQuery的根据id获取dom对象;Struts.xml:主要亮点在配置一个多变级联时防止加载多个表的操作,从而达到解决多表级联操作的时候经常出现的session...
相信大家都知道,每一个App都需要登录,登录信息都保存在本地文件中,然后我们就写一堆的操作SharedPreferences的代码了。 现在,你可以完全抛弃这种方法... UserInfo userInfo = SessionManager.getDefault().getUser
获取session域中的User对象,判断该对象是否为空,如果为空则用户登录信息过期,提示用户重新登录,跳转到登录界面。 3. 注册功能的实现 先把从前台接收的数据封装起来,然后检查用户输入的两次密码是否一致,...