Java,Jsp,模式及框架
Web技术
Web服务器
浏览器相关
SQL语言
数据库
开发环境
软件开发及管理
网站SEO
短信及邮件服务
网页设计
电脑、硬件及网络
协同管理平台问题
电子商务
前沿技术及趋势
  当前位置:首页 - 知识积累 - Java,Jsp,模式及框架
java根据sessionid获取session的方法
时间:2013年09月14日 

1. 建立一个自己的SessionContext:

程序代码:

[java]
  1. package cn.org.jshuwei.session.core;
  2. import javax.servlet.http.HttpSession;
  3. import java.util.HashMap;
  4. public class MySessionContext {
  5. private static MySessionContext instance;
  6. private HashMap mymap;
  7. private MySessionContext() {
  8. mymap = new HashMap();
  9. }
  10. public static MySessionContext getInstance() {
  11. if (instance == null) {
  12. instance = new MySessionContext();
  13. }
  14. return instance;
  15. }
  16. public synchronized void AddSession(HttpSession session) {
  17. if (session != null) {
  18. mymap.put(session.getId(), session);
  19. }
  20. }
  21. public synchronized void DelSession(HttpSession session) {
  22. if (session != null) {
  23. mymap.remove(session.getId());
  24. }
  25. }
  26. public synchronized HttpSession getSession(String session_id) {
  27. if (session_id == null) return null;
  28. return (HttpSession) mymap.get(session_id);
  29. }
  30. }



2.新建一个Session监听

程序代码

[java]
  1. package cn.org.jshuwei.session.core;
  2. import javax.servlet.http.HttpSessionListener;
  3. import javax.servlet.http.HttpSessionEvent;
  4. import javax.servlet.http.HttpSession;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7. public class SessionListener implements HttpSessionListener {
  8. public static Map userMap = new HashMap();
  9. private MySessionContext myc=MySessionContext.getInstance();
  10. public void sessionCreated(HttpSessionEvent httpSessionEvent) {
  11. myc.AddSession(httpSessionEvent.getSession());
  12. }
  13. public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
  14. HttpSession session = httpSessionEvent.getSession();
  15. myc.DelSession(session);
  16. }
  17. }


3.在web.xml中配置

程序代码

[java]
  1. <listener>
  2. <listener-class>cn.org.jshuwei.session.core.SessionListener</listener-class>
  3. </listener>

4.使用

程序代码

[java]
  1. MySessionContext myc= MySessionContext.getInstance();
  2. HttpSession sess = myc.getSession(sessionId);