Nabend mal wieder zu so später Stunde.
Ich habe gelesen, dass von einem aus einer JSP erzeugten Servlet jeweils nur eine Instanz erzeugt wird, die für alle User verfügbar ist, die die gleiche URL aufrufen.
Abhilfe soll der Befehl @page isThreadSafe="true/false" schaffen.
Um das nachzuvollziehen habe ich mir in Eclipse folgendes Programm angelegt:
Hier ist klar: im ersten WebBrowser von meinem PC aus wird als Zähler 1 angezeigt. Ein Aufruf aus dem Browser vom Laptop führt dazu, dass als Zähler bereits 2 angezeigt wird, obwohl ich es vom Laptop zum 1. Mal aufrufe, wa sich aufgrund der einmaligen Instanz aber auch erwartet habe. Soweit kapiert.
Nun habe ich eben besagte Zeile eingefügt:
in der Erwartung, es würden mehrere Threads des Servlets erzeugt, so dass das beide Aufrufe vom PC/Laptop als Zähler eine 1 anzeigen würden. Ist aber nicht der Fall, es wird trotzdem weiter gezählt. Habs dann auch noch mit ="false" probiert, bringt aber auch keine Abhilfe.
Was hab' ich falsch gemacht/missverstanden?
THX@ALL
Ich habe gelesen, dass von einem aus einer JSP erzeugten Servlet jeweils nur eine Instanz erzeugt wird, die für alle User verfügbar ist, die die gleiche URL aufrufen.
Abhilfe soll der Befehl @page isThreadSafe="true/false" schaffen.
Um das nachzuvollziehen habe ich mir in Eclipse folgendes Programm angelegt:
Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%! int counter = 0; %>
<% counter++; %>
Aktueller Zähler:
<%= counter %>
</body>
</html>
Hier ist klar: im ersten WebBrowser von meinem PC aus wird als Zähler 1 angezeigt. Ein Aufruf aus dem Browser vom Laptop führt dazu, dass als Zähler bereits 2 angezeigt wird, obwohl ich es vom Laptop zum 1. Mal aufrufe, wa sich aufgrund der einmaligen Instanz aber auch erwartet habe. Soweit kapiert.
Nun habe ich eben besagte Zeile eingefügt:
Code:
<%@ page isThreadSafe="true" %>
Was hab' ich falsch gemacht/missverstanden?
THX@ALL