php怎么通过sessionid获取session-CSDN论坛

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php怎么通过sessionid获取session-CSDN论坛相关的知识,希望对你有一定的参考价值。

参考技术A t.php文件代码:
<?php
OB_START();
@Session_start();
$sessionId = session_id();
echo $sessionId;
$_SESSION['abc']=123;
?>
<a href=t2.php?SESSIONID=<?= $sessionId;?>>获取session</a>

t2.php文件代码:
<?php
var_dump(session_id($_GET['SESSIONID']));
?>
t2.php也需要开启session:
<?php
@Session_start();
var_dump(session_id($_GET['SESSIONID']));
?> 《session_name() 返回当前session的名称》
CSDN创立于1999年,是中国最大的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。拥有超过3000万注册会员(其中活跃会员800万)、50万注册企业及合作伙伴。本回答被提问者采纳
参考技术B   t.php文件代码:
      <?php
         OB_START();
         @Session_start();   
         $sessionId = session_id();
         echo $sessionId;
        $_SESSION['abc']=123;
      ?>
    <a href=t2.php?SESSIONID=<?= $sessionId;?>>获取session</a>
  

  t2.php文件代码:
      <?php
       var_dump(session_id($_GET['SESSIONID']));
     ?>

参考技术C session_id('你获得的sessionId');
session_start();
var_dump($_SESSION);
//你获得的sessionId 对应的session当前服务器可获得的情况

Java通过sessionId获取Session

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);

 

以上是关于php怎么通过sessionid获取session-CSDN论坛的主要内容,如果未能解决你的问题,请参考以下文章

Java通过sessionId获取Session

php 如何通过session id获取session里的数据?

如何通过js获取到sessionid的值

php中如何传递Session ID

php中如何传递Session ID

Java通过遍历sessionId获取服务器所有会话session