Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / April 2007

Tip: Looking for answers? Try searching our database.

don't understand with behaviour with tomcat session

Thread view: 
Nikko - 28 Apr 2007 08:21 GMT
Hi all,
I have got a web application(on tomcat server) in which clients have to
be logged to enter. And I would like to create only new user's session
if user's authentification is successful (login/password correct). So,
normaly the number of users logged = number of tomcat's sessions.
In my webapps, I use a 'AuthenticationFilter' which implement Filter
java Class . When user fill his login and password and click button
'enter', I pass in function  'doFilter '

public class AuthenticationFilter implements Filter
{
      public void init(FilterConfig config) throws ServletException {}
      public  void doFilter(ServletRequest req, ServletResponse
res,FilterChain chain) throws IOException, ServletException
      {
          HttpSession session =  
(HttpServletRequest)req).getSession(false);
          //session is null, ok no problem
          HttpServletRequest  request     = (HttpServletRequest)req;
          //by casting req to HttpServletRequest, a session is created,
and I don't understand
          HttpSession         session2     = request.getSession(false);
         //and now session2 is not null.
       }

    public void destroy() {}
}

I don't understand why when I do this : HttpServletRequest  request    
= (HttpServletRequest)req;
a new session is created, (I verified also  in tomcat manager)
Has anybody already dealed with this problem?
I use eclipse too with wtp for debug.
Harry - 30 Apr 2007 04:20 GMT
Hi,

HttpServletRequest request = (HttpServletRequest) req;
should not do any change to session. As you know, it is just a simple
JAVA syntax casting the variable down the inheritance tree. So the
problem may not happen ONLY in this filter. Will it be something
happening on another thread in a servlet class that creates the
session?

To debug this case, I think the Tomcat Manager cannot reflect the
actual case, because when you see the Tomcat Manager, the whole
request already finishes. I suggest you to debug the code line by
line. Then, you can see whether the session is created before and
after your logic above.

Harry

> Hi all,
> I have got a web application(on tomcat server) in which clients have to
[quoted text clipped - 30 lines]
> Has anybody already dealed with this problem?
> I use eclipse too with wtp for debug.


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.