import java.util.HashMap;
import java.util.Map; import javax.servlet.http.HttpSession; /**
*
* ClassName: SessionContext
*
* @Description: 获取sessionID
* @author liangbo
* @date 2016-3-18
*/
public class SessionContext { private static SessionContext instance;
private Map<String, HttpSession> sessionMap; private SessionContext() {
sessionMap = new HashMap<String, HttpSession>();
} public static SessionContext getInstance() {
if (instance == null) {
instance = new SessionContext();
}
return instance;
} public synchronized void addSession(HttpSession session) {
if (session != null) {
sessionMap.put(session.getId(), session);
}
} public synchronized void delSession(HttpSession session) {
if (session != null) {
sessionMap.remove(session.getId());
}
} public synchronized HttpSession getSession(String sessionId) {
if (sessionId == null)
return null;
return sessionMap.get(sessionId);
}
}

  

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener; /**
*
* ClassName: SessionListener
*
* @Description: sessionid web.xml监听器
* @author liangbo
* @date 2016-3-18
*/
public class SessionListener implements HttpSessionListener { private SessionContext context = SessionContext.getInstance(); @Override
public void sessionCreated(HttpSessionEvent sessionEvent) {
context.addSession(sessionEvent.getSession());
} @Override
public void sessionDestroyed(HttpSessionEvent sessionEvent) {
HttpSession session = sessionEvent.getSession();
context.delSession(session);
} }

  web.xml

<listener>
<listener-class>hometree.ecs.business.service.util.session.SessionListener</listener-class>
</listener>
//添加session
SessionContext.getInstance().addSession(server.getSession()); //获取session
HttpSession session = SessionContext.getInstance().getSession(
request.getParameter("sessionid"));

java根据sessionid获取session的更多相关文章

  1. Java通过sessionId获取Session

    Servlet2.1之后不支持SessionContext里面getSession(String id)方法. 但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一 ...

  2. SuperSocket通过 SessionID 获取 Session

    前面提到过,如果你获取了连接的 Session 实例,你就可以通过 "Send()" 方法向客户端发送数据.但是在某些情况下,你无法直接获取 Session 实例. SuperSo ...

  3. 教你在Java的普通类中轻松获取Session以及request中保存的值

    曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助! 如何在Java的 ...

  4. 用struts2获取session、request、parmeter的方法

    package com.hanqi.action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; public ...

  5. 获取session、request、parmeter的方法

    package com.hanqi.action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; public ...

  6. SQLServer中使用扩展事件获取Session级别的等待信息以及SQLServer 2016中Session级别等待信息的增强

    本文出处:http://www.cnblogs.com/wy123/p/6835939.html 什么是等待 简单说明一下什么是等待:当应用程序对SQL Server发起一个Session请求的时候, ...

  7. 前台跨站点获取session

    var sessionId = System.Web.HttpContext.Current.Response.Cookies[System.Web.Security.FormsAuthenticat ...

  8. 使用jQuery获取session中存储的list集合

    在网上查找了很多关于jQuery获取session都不可得,如果大家有更好的方式,欢迎留言 这里是使用jQuery发送Ajax请求到后台获取session jsp中没有代码 js代码 <scri ...

  9. Python3+Selenium获取session和token供Requests使用教程

    一.背景说明 之前写了一款简单的api模糊测试工具,之前系统可以使用http Base认证现在改成session形式并加上了token. 最简单的改造方法,是自己先在浏览器手动登录,然后提取出sess ...

随机推荐

  1. IGS_学习笔记03_Integrated SOA Gateway设定配置(案例)

    20150506 Created By BaoXinjian

  2. c++代码模板

    c++代码模板 &代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int ...

  3. cf666 C. Codeword 组合数学 离线分块思想

                      time limit per test 6 seconds memory limit per test 256 megabytes input standard i ...

  4. 防止sql注入。xss攻击 方法

    //防止sql注入.xss攻击    /**     * 过滤参数     * @param string $str 接受的参数     * @return string     */    publ ...

  5. 如何搭建Struts2环境

    1.解压下载到的struts-2.3.16压缩包. 2.将struts2-blank\WEB-INF\lib 下的jar包复制到Eclipse项目下的libs文件夹下. 3.struts-2.3.16 ...

  6. iOS 程序打包,安装流程

    一.发布测试,是指将你的程序给   * 你的测试人员,因为程序总归是要测试的   * 你的客户,在正式发布之前,客户肯定是要先看(验收)的 在他们的iOS设备(iphone,ipod, ipad)安装 ...

  7. 解决insmod: error inserting 'hello.ko': -1 Invalid module format

    编译自己的内核模块后,insmod出现error:error inserting 'hello.ko': -1 Invalid module format 出现这种情况的原因是因为Makefile种使 ...

  8. django不要设置datetime字段auto_now=True

    django model的datetime字段如果设置了auto_now=True的话,update该记录的时候即使没有更新它的时间字段,它的时间字段依然会执行一遍auto_now,时间会变成当前更新 ...

  9. 如何使weblogic11g类似weblogic923一样统一使用一个boot.properties文件

    如何使weblogic11g类似weblogic923一样 统一使用一个boot.properties文件 1.在weblogic域下创建文件boot.properties输入用户密码例如:usern ...

  10. sap mm_1

    1. /nmm50 扩展视图,看那些视图没有维护的  . 2. mm60 物料清单    查看所建立的物料. 3. se11     ABAP DICTIONARY:Initial Screen 定义 ...