In unserer Java-Webanwendung, die Struts 1 verwendet, haben wir eine Menge Code, der im Wesentlichen dies tut:
HttpSession session = httpServletRequest.getSession();
MyObject myObject = session.getAttribute(MY_OBJECT_KEY);
//code that mutates myObject - setting properties or whatever
session.setAttribute(MY_OBJECT_KEY, myObject);
Meine Frage: Ist die letzte Zeile, session.setAttribute(..), notwendig? Sie erscheint mir sinnlos - 'myObject' und 'session.getAttribute(..)' beziehen sich doch auf dieselbe Stelle im Speicher, oder? Es sollte also nicht erforderlich sein, das Attribut in der Sitzung neu zu setzen? Gibt es etwas, was ich nicht weiß? Das Objekt implementiert nicht HttpSessionBindingListener, die in der Dokumentation erwähnt wird.
Ich habe das Gefühl, dass ich das noch einmal überprüfen muss, weil das überall in dieser Anwendung gemacht wird, und ich möchte auf keinen Fall etwas kaputt machen, nur weil ich den Code bereinige. Danke