解决方案 »

  1.   

    “A系统通过socket向B系统发送一个请求XML,”  这个是有用户请求才会触发的吧?,有请求就有session
      

  2.   


    session是客户端与服务端的会话socket是服务端与服务端,怎么创建session?
      

  3.   

    A系统可以获取,当前请求跳转到系统B的用户的sessionid(session.getId()),把这个传给B,就可以做验证了。方法1.B这边可以写个listener进行管理。
    方法2.b用application进行管理。//b系统的listener
    public class asysListener implements HttpSessionListener{ private static HashMap map=new HashMap();//保存sessionID和uudi的映射  public void sessionCreated(HttpSessionEvent arg0) {

    }
    public void sessionDestroyed(HttpSessionEvent arg0) {
    map.remove(arg0.getSession().getId());
    }

    /*用户的uuid是否正确*/
    public static boolean isExit(HttpSession session,String uuid){   
             if(uuid.equals(map.get(session.getId()))){
                return true;
             }
               return false;   
       }

    /*新增*/
     public static void  add(String sessionid,String uuid){   
         
                      map.put(sessionid,uuid);
     }   }
      

  4.   

    存文件呀,session本身还是存文件中的,文件比数据库效率高
      

  5.   

    存数据库最方便 
    最好存放在B系统的服务系统之外,允许B服务系统重启后依然有效一定要自己写,可以使用一个单例的bean,其中的map,保存  uuid和验证标识