PDA

View Full Version : Managing objects being held in session


diegum
Aug 26th, 2004, 12:03 AM
I want to know if someone could recommend "rules of thumb" when deciding whether to keep or not objects in servlet session between different requests

Alternatives, PROS and CONS, etc

Thank you

gpoirier
Aug 26th, 2004, 11:04 AM
I personally try to put as few stuff as possible in the session. The main reasons are from a user perspective. I would rather be able to bookmark pages & send links that directly open a specifc page, and if I fork a session (Open link in a new page/tab), then I don't want changes in one page/tab mess with the other one.

gpoirier
Aug 26th, 2004, 11:09 AM
I forgot too, putting stuff in the session scope might create issue when using back too. Also, to avoid problems with back button and refresh, I use GETs anytime an operation doesn't modify the database, and when I use POST, I never display directly a page, I always use a redirect to a GET.

diegum
Aug 26th, 2004, 01:58 PM
Thanks a lot, champ.

I want to know alternative mechanisms for session holding avoidance

For instance, a friend of me sends data back and force between web server and client browser

I dont like it too much because we are adding complexity on pages (remember that web means hypertext, so you have to drag use case-related info in the whole presentation layer)

Another one is persists some data in a cache (memory -similar to keep in session and maybe problematic on clusters- or secondary storage)

Even, to store use case related info on database



I want to know if someone could tell personal experiences approaching this problem

gpoirier
Aug 26th, 2004, 02:29 PM
I'm not sure I really understand your question, but when I want information to be passed from one request to another I add the minimum needed to every link (i.e. IDs), so that I can retrieve the data before handling the request, with the data possibly cached somewhere.

Concerning when to put stuff in the HttpSession, I usually only do that when the data is user specific. For example, items in a shopping cart are user specific, while a search result could be meaningful for anyone.

Not quite sure my answer is useful, since I'm unsure what kind of answer you were looking for, but I hope it helps.

Guillaume