H
herr reporter
Gast
Kann ich in einem Servlet eine Variable (z.B. das Ergebnis einer Datenbankabfrage) statisch deklarieren, damit sie dann auch für spätere Requests zur Verfügung steht?
Ich stelle mir das ungefähr so vor:
Das Servlet schaut also erst, ob das Result schon da ist, wenn nicht, wird es neu geladen. Ansonsten kann es sich den Datenbankaufruf sparen.
Wie lange ist result gültig? Bis der Request abgearbeitet ist oder bis der Server neu gestartet wird?
Ich stelle mir das ungefähr so vor:
Code:
public class xmlrpc extends HttpServlet {
public static String result = null;
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
doRequest(req, res);
}
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
doRequest(req, res);
}
public void doRequest(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (result == null) result = getResult();
System.out.println(result);
}
private String getResult() {
String result = new String();
// Result aus einer Datenbank lesen
...
return result;
}
}
Das Servlet schaut also erst, ob das Result schon da ist, wenn nicht, wird es neu geladen. Ansonsten kann es sich den Datenbankaufruf sparen.
Wie lange ist result gültig? Bis der Request abgearbeitet ist oder bis der Server neu gestartet wird?