|
|
FAQ (Frequently Asked Questions)

8. Sessions
|
8.1
|
Was ist eine Session?
Eine Session ist einem Benutzer zugeordnet, der ein(e) Web-Seite/Portal verwendet. In der Session werden alle Daten die benutzerspezifisch sind vorgehalten. Eine typische Anwendung, in der Sessions verwendet werden, ist ein Warenkorbsystem, bei dem der Benutzer Waren in einen Warenkorb legen kann, um diese später zu bestellen.
Web-Entwickler, die JSP-Seiten programmieren, können das implizite Session-Objekt der JSP-Seite verwenden.
Beispiele:
--------------
// setzen einer Sessionvariablen
session.setAttribute("name", lstrName);
// lesen der Sessionvariablen
String lstrName = (String) session.getAttribute("name");
Sessionvariable können seitenübergreifend gelesen werden. Sessions werden automatisch nach einer einstellbaren Zeit vom Servlet Container (Application Server) bzw. durch nachfolgende Anweisung freigegeben:
// löscht die Session (alle Sessionvariablen)
session.invalidate();
Java Beans können ebenfalls im Session-Scope benutzt werden und sind damit seitenübergreifend verfügbar:
<jsp:useBean id="loginBean" scope="session" class="de.shark.jsp.beans.loginBean.LoginBean"/>
Autor: shark
|
| |
|
8.2
|
Was ist ein Http Session Listener?
Das Http Session Listener Interface managed den Lebenszyklus von Ereignissen im Session Kontext. Falls eine Session aktiviert oder erzeugt wurde, wird die sessionCreated()-Methode des Session Listeners ausgeführt. Wird die Session hingegen beendet (z.B.: invalidate()), ruft der Session Listener die sessionDestroyed()-Methode auf.
package de.jsp.develop.session;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* Simple http session listener implements
* HttpSessionListener interface.
*/
public class SessionListener implements HttpSessionListener {
/**
* Life cycle event method which is invoked when
* the session is created.
* @param http session event
*/
public void sessionCreated(HttpSessionEvent evt) {
// Handle session created event
}
/**
* Life cycle event method which is invoked when
* the session is destroyed.
* @param http session event
*/
public void sessionDestroyed(HttpSessionEvent evt) {
// Handle session destroyed event
}
}
Eintrag in Datei "web.xml":
-------------------------------------
<listener>
<listener-class>de.jsp.develop.session.SessionListener</listener-class>
</listener>
Autor: shark
|
| |
|
8.3
|
Was haben Kekse (Cookies) mit einer Session zu tun?
Cookies sind Textstrings (text-only) die temporär oder permanent auf der clientseite (im Browser-Kontext) gespeichert werden.
Cookies können Session Informationen, wie zum Beispiel eine Session-ID, speichern. Als Web-Entwickler sollte man die Datenmenge, die in Cookies gespeichert wird, möglichst gering halten. Das max. Datenvolumen, welches in einem Cookie gespeichert werden kann, liegt bei 4 KByte.
Die Verwendung von Cookies kann vom Benutzer in seinem Browser deaktiviert werden. Alternativ zu Cookies kann die Session-ID zur Benutzeridentifikation auch über URL-Rewriting übermittelt werden.
/**
* do get method
* @param http request
* @param http response
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) {
// create cookie
Cookie nameCookie = new Cookie("name","JspDevelop");
// add cookie to response stream
response.addCookie(nameCookie);
}
Autor: shark
|
| |
|
|
Zurück
|
|
|
Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir
betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten
haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf
dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer
Homepage angebrachten Links
Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig-
und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes.
Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen
obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung
einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung
bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.
Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries.
IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation.
Other trademarks and registered trademarks are the property of their respective owners.
|
|
|
|