Um mit SSJS auf die HTTP-Session eines Domino-Servers zuzugreifen, ist nicht viel Code nötig:
var exCon = facesContext.getExternalContext(); var sess = exCon.getRequest().getSession();
Dadurch lassen sich folgende Informationen ermitteln:
- getAttribute(Name:String)
Liefert gebundenes Objekt des Attributes „Name“ zurück
- getAttributeNames()
Liefert die Namen aller Attribute als java.util.Enumeration zurück.
- getCreationTime()
Zeit der Session-Erstellung, Millisekunden seit 1.1.1970 GMT, z.B. „1.323785660873E12“
- getId()
Liefert die aktuelle SessionID zurück, z.B. „D18P2LFFB5“
- getLastAccessedTime()
Zeit, an der die Session zuletzt aufgerufen wurde. In Millisekunden seit 1.1.1970 GMT, z.B. „1.323785660873E12“
- getMaxInactiveInterval()
Länge der maximalen Gültigkeit einer Session (in Sekunden) , die vom Servlet ohne Clientaktivität abgewartet wird.
- isNew()
True, wenn der Client die Sessio noch nicht kennt, false wenn der Client einer bestehende Session beitritt.
- invalidate()
Setzt eine Session zurück und löscht alle Daten der Session
- removeAttribute(Name:String)
Löscht das Attribut „Name“ und entfernt das gebundene Objekt
- setAttribute(Name:String, obj:Object)
Setzt das Attribut „Name“ mit dem Objekt „obj„.
- setMaxInactiveInterval(int interval)
Setzt maximale Länge der Session in Sekunden, bis das Servlet die Session ablaufen lässt.
Um die Attribute einer Session auszugeben, kann z.B. folgender Code verwendet werden:
var attr = sess.getAttributeNames(); while( attr.hasMoreElements() ){ var elem = attr.nextElement(); result += elem + " -> "; result += sess.getAttribute( elem ); result += " ["; result += typeof(sess.getAttribute( elem )); result += "]"; } result