Hi,

> ... I believe that you should not declare objects that will have dynamic data
> outside of the method that is using them.   I removed the declaration from
>the class level and declared the Result Bean in the doGet method where
>it is used.  Now I can have as many web browser executing at the same
>time and all displaying the correct information.  ...


I got the same "result :-) " from my testing, and I just try to add a note, I am

sorry some of the following have already been explained in several emails,
I just want to explain it more clear :-)


0  for the servlet engine which only make ONE instance for
    "our custom servlet  class" -- normally(I guess) :
    a    -- for "static class variable"
          [a]   all the "static class variable" will be "shared" to all
                 new threads -- and to all "client reauestings" , this is
                 because now we have only one "custom servlet
                class" .
          [b]  So we can not use it as "dynamic data" which is
                 different to every "client requesting".
          [c]   But we can use it to lock our code between those threads.

    b    -- for "not_static class variable"
          [a]    all the "not_static class variable" will be "shared" to all
                  new threads -- and to all "client reauestings" , this is
                  because now we have only one instance.
          [b]   So we can not use it as "dynamic data" which is
                  different to every "client requesting".
          [c]    But we also can use it to lock our code  between those threads.

    c    -- for "method variable"
          [a]    all the "method variable" will NOT be "shared" to all
                  new threads -- and NOT to all "client reauestings"  I guess
this is
                  because every new thread will use its own  "copy"
                 for these "method variable"
         [b]   So we can use it as "dynamic data" which is
                  different to every "client requesting".
          [c]    But we can NOT use it to lock our code  between those threads.


1  for the servlet engine which will make "instance pool"  for
    "our custom servlet  class" , I don't know :-)  But it seems
    that now these instances are "independent:-) ", if So, I
    guess 0-a and 0-c are still right, but 0-b is not right.



Bo
OCT.12, 2000




Marc Krisjanous wrote:

> Hi all,
>
> once again thank you for your comments about exception handling.  I have now
> revised by strategy.
>
> One thing I would like to share with you is:
>
> I had a simple servlet that accepts a parameter from a requesting page, it
> then adds the parameter to a Result Bean, the bean is then added to the
> session object.  A JSP page was then called.  The JSP page then displayed
> the results by accessing the Result bean and extracting the parameter value.
> It worked.  Now I had 3 web browsers loaded on my machine and added
> different values to each text box (one per web page).  I then executed the 3
> Web Pages at the same time.  Well! the results were different! Sometimes all
> pages showed the same result and sometimes 2 would etc...  It took me a
> while to understand what had happened; I add declared by Result bean at the
> class level - outside of a method.  I believe that you should not declare
> objects that will have dynamic data outside of the method that is using
> them.   I removed the declaration from the class level and declared the
> Result Bean in the doGet method where it is used.  Now I can have as many
> web browser executing at the same time and all displaying the correct
> information.
>
> Am I correct in my assumptions - it seems very fundamental.
>
> Best Regards
>
> Marc
>
> ___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to