Hi, Thanks guys for looking into this.
All requests to my app pass through a single servlet, say *Main*. So, I thought I need not to add additional filter and I used a ThreadLocal variable to store session id : public static final ThreadLocal<String> sessionID = new ThreadLocal<String>(); And for every request I am doing if(*Main*.sessionID.get() == null) *Main*.sessionID.set(req.getSession().getId()); But it doesn't seem to work. According to my understanding *Main*.sessionID.get() should be null each new session (or each new request, I am not sure here). Did I get something wrong? 2010/1/9 A1programmer <[email protected]> > You probably want to architect the classes in such a way that they are > not tightly coupled to the http servlet session. > > Anyway, when you were working with ThreadLocal earlier, did you first > set the ServletRequest from the filter? > > class UserService { > private UserDAO userDAO; > > public Collection <Item> getItemsForUser(User user){ > return userDao.getItemsForUser(user); > } > > } > > > class UserDAO { > > public Collection<Item> getItemsForUser(User user) { > > Long userId = user.getId(); > String userName = user.getUserName(); > > // query the database based on user information > > } > > } > > On Jan 9, 3:53 am, Prashant Gupta <[email protected]> wrote: > > I tried following code, getting null all the time. > > > > public static HttpSession getSession(){ > > return new ThreadLocal<HttpServletRequest>().get().getSession(); > > > > } > > > > 2010/1/9 Elias Mårtenson <[email protected]> > > > > > > > > > On 9 Jan, 01:27, Prashant Gupta <[email protected]> wrote: > > > > > > I am trying to implement my own user management system, for that I > need > > > some > > > > way to make session id available to all classes independent of > whether it > > > > extends HttpServlet or not. I know there is some way to do that but I > am > > > not > > > > able to find it. Any kind of help would be appreciated. > > > > > One way to do it is to use a servlet filter to make the user > > > information available through a ThreadLocal instance. That way you can > > > have a single static method that returns the user wherever you are. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Google App Engine for Java" group. > > > To post to this group, send email to > > > [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<google-appengine-java%[email protected]><google-appengine-java%2B > [email protected]> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/google-appengine-java?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > > >--
You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
