Du kannst über Java Script darauf zugreifen, hier ein Beispiel aus der Notes Hilfe
This servlet gets a token for Single Sign-on from the LtpaToken cookie through HttpServletRequest and creates a session based on the token.
import java.lang.*;
import java.lang.reflect.*;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import lotus.domino.*;
public class Cookies extends HttpServlet
{
private void respond(HttpServletResponse response, String entity)
throws IOException
{
response.setContentType("text/plain");
if (entity == null)
{ response.setContentLength(0);}
else
{
response.setContentLength(entity.length() + 1);
ServletOutputStream out = response.getOutputStream();
out.println(entity);
}
}
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
String s1 = "";
Cookie[] cookies = null;
String sessionToken = null;
try
{
cookies = request.getCookies();
}
catch (Exception e)
{
respond(response,"Exception from request.getCookies(): " +
e.toString());
return;
}
if (cookies == null)
{
s1 = "No cookies received";
}
else
{
for (int i = 0; i < cookies.length; i++)
{
if (cookies[i].getName().equals("LtpaToken"))
{
sessionToken = cookies[i].getValue();
}
}
}
if (sessionToken != null)
{
try
{
NotesThread.sinitThread();
Session session = NotesFactory.createSession(null, sessionToken);
s1 += "\n" + "Server: " + session.getServerName();
s1 += "\n" + "IsOnServer: " + session.isOnServer();
s1 += "\n" + "CommonUserName: " + session.getCommonUserName();
s1 += "\n" + "UserName: " + session.getUserName();
s1 += "\n" + "NotesVersion: " + session.getNotesVersion();
s1 += "\n" + "Platform: " + session.getPlatform();
NotesThread.stermThread();
}
catch (NotesException e)
{
s1 += "\n" + e.id + e.text;
e.printStackTrace();
}
}
respond(response,s1);
}
}
Sry das Beispiel ist vieleicht besser:
cookieName = "Cookie_Man";
function doCookie() {
var index = -1;
if(document.cookie) {
index = document.cookie.indexOf(cookieName);
}
if (index == -1) {
document.cookie = cookieName +
"=1; expires=Saturday, 03-Apr-2010 08:00:00 GMT";
} else {
var countbegin = (document.cookie.indexOf("=", index) + 1);
var countend = document.cookie.indexOf(";", index);
if (countend == -1) {
countend = document.cookie.length
}
var count = eval(document.cookie.substring(countbegin, countend)) + 1;
document.cookie=cookieName+"="+count+"; expires=Saturday, 03-Apr-2010 08:00:00 GMT";
}
}
Mit folgenden JS FUnktionen
function getXMLHTTP() {
// function to create an XmlHttp object
var xmlHttp = null;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(oc) {
xmlHttp = null;
}
}
if(!xmlHttp && typeof XMLHttpRequest != "undefined") {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
und
function getData()
{
try{
var url ='/icons/ecblank.gif&hash='+Math.random();
var xmlHttp = getXMLHTTP();
xmlHttp.open("GET",url);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.responseText) {
var daten=xmlHttp.responseText;
} // state
}; // function
xmlHttp.send(null);
} // try
catch(e)
{
alert(e.description);
}
} // getData
jetzt musst Du nur die Funktion getData in regelmässigen oder unregelmässigen Zeitabständen aufrufen.
evtl. bleibt so die Session erhalten.
Anstatt auf ecblank kannst Du auch auf eine URL in deiner DB zugreifen. Das ganze läuft im Hintergrund. Die Empfangenen Daten werden nicht direkt angezeigt.