Mark, I think I was working too many hours yesterday, and my brain shut off.
Thanks!!! Celeste -----Original Message----- From: Mark Galbreath [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 14, 2003 6:58 PM To: 'Struts Users Mailing List' Subject: RE: How to Access an Application Scope object in a Struts Action Class That's because a JSP application scope is a servlet context scope object. Use this instead: ServletContext context = this.getServlet().getServletContext(); Map monitor = ( Hashtable) context.getAttribute( "monitor" ); Mark -----Original Message----- From: Haseltine, Celeste [mailto:[EMAIL PROTECTED]] Sent: Tuesday, January 14, 2003 7:41 PM I'm relatively new to Struts, and I am working in Struts 1.02 (since we are not comfortable using a beta version of struts on a new project), and I am stuck on a simple problem. If I create a Hashtable bean object called monitor, with application scope, in my Welcome page using <jsp:useBean id="monitor" scope="application" class="java.util.Hashtable"/> how do I access this application scope object in all of my Struts action classes? I've tried using Hashtable monitor = (Hashtable)session.getAttribute(Constants.MONITOR_KEY); if (monitor != null) { -----do something--- } and I get a null pointer error, as seen from my error log below: 01/14 18:30:47 error java.lang.NullPointerException at com.NYTC.struts.LogonAction.perform(LogonAction.java:144) where line 144 is the if (monitor != null) statement. My objective in using the monitor bean is to keep track of every user who logs in, and if they still have an active session, recover any data and then invalidate the old session, and create a new session for them. We were doing this in our previous web apps, but we were using a Model 1 approach, so I am having some trouble converting this concept to a Model 2 approach. In our Model 1 apps, we just used the monitor to keep track of user's sessions, and invalidate any active session still on server as follows: if (monitor.containsKey(user)){ HttpSession oldSession = (HttpSession)monitor.get(user); System.out.println("User already has an active session in memory "+ oldSession.getId()); ---retrieve old data in between here and then invalidate old session------ oldSession.invalidate(); System.out.println("Got rid of the old session"); } else { System.out.println("No old session was found"); } monitor.put(user, session); How do I accomplish this using a Model 2 approach?? Thanks in advance for any insight/advice Celeste -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>