no, this.getThreadLocalRequest().getSession() will create one if it doesnt
exist yet. once created, u'll get the same session. if the request has a
valid cookie which corresponds to a existed session, there'll no new
session created.

hth

but if u call it at different place , due to threading, u'll prob. get
different result. so call it once at the method which is also declared at
rpc-client-interface & passe it around for your request scope.

On Wed, Dec 14, 2011 at 4:15 PM, Appien <[email protected]> wrote:

> Hi,
>
> i've several call to getsession in the implementaiton of
> getcredentials. Does this mean the application creates a new session
> everytime i do this call? find below my code of getcredentials. I've
> changed the code so everytime a method of a servlet gets first the
> session by using: HttpSession session =
> this.getThreadLocalRequest().getSession();
>
>
>        HttpSession session = this.getThreadLocalRequest().getSession();
>                log.info("Invoking SecurityService");
>                final HashMap<String, String> returnedValues = new
> HashMap<String,
> String>();
>
>                clearLoginVariables(session);
>
>                BigInteger XXXNummer = null;
>                // Check if a valid parameter is given
>                if (null != loginKey) {
>                        loginKey = loginKey.toLowerCase();
>                        final IsValidKey loginWaarden =
> getLoginValues(loginKey);
>
>                        if (null != loginWaarden) {
>
>                                XXXNummer = loginWaarden.getXXXNummer();
>                                if (XXXNumber != null) {
>
>  returnedValues.put(EfConstants.GAUSER, "" +
> loginWaarden.getXXXNumber());
>                                } else {
>                                        log.warn("XXX Number not found for
> loginkey :" + loginKey);
>                                }
>                                if (null !=
> loginWaarden.getAbonnmentscode()) {
>
>  returnedValues.put(EfConstants.GAROLE,
> loginWaarden.getAbonnmentscode());
>                                } else {
>                                        log.warn("XXX Role not found for
> loginkey :" + loginKey);
>                                }
>
>                        } else {
>                                log.warn("LoginService did not return a
> valid result for key: " +
> loginKey);
>                        }
>                        // IF no parameter is in the url get the xx
> variable and
>                } else {
>
>                        String XXXNumberString = getXXXNumber(session);
>                        if (XXXNumberString != null) {
>                                XXXNumber = new BigInteger(XXXNumberString);
>                                returnedValues.put(EfConstants.xxxx,
> XXXNumber.toString());
>                        } else {
>                                log.warn("XXX Number not found by getting
> headers :" + loginKey);
>                        }
>                        if (getXXXRole(session) != null)
>                                returnedValues.put(EfConstants.xxx,
> getXXXRole(session));
>                        else
>                                log.warn("XXX Role not found by getting
> headers :" + loginKey);
>
>                }
>                if (XXXNumber != null) {
>                        log.info("XXX Member: " + XXXNumber + " logged
> in.");
>                        xxx response = getxxxData(XXXNumber,
> getXXXRole(session));
>                        determineFormAccess(response);
>                }
>                // Add the variables to the session
>                if (returnedValues.get(EfConstants.GAUSER) != null) {
>                        addToSession(session, EfConstants.xxx,
> returnedValues.get(EfConstants.xxx));
>
>                        if (returnedValues.get(EfConstants.xxxx) != null) {
>                                addToSession(session, EfConstants.xxx,
> returnedValues.get(EfConstants.xxx));
>                        }
>                } else {
>                        log.warn("Session invalid");
>                        invalidateSession(session);
>                }
>
>                return returnedValues;
>
>
>
> On Dec 14, 2:44 pm, kim young ill <[email protected]> wrote:
> > in your securityServiceImpl.getCredentials() you should get Session via:
> > getThreadLocalRequest().getSession(), then pass it to
> >
> > addToSession(HttpSession session, String label, Objectval)
> > you here u have session, why called getThreadLocalRequest().getSession()
> > the second time ?
> >
> >
> >
> >
> >
> >
> >
> > On Wed, Dec 14, 2011 at 2:18 PM, Appien <[email protected]> wrote:
> > > Sure!
> >
> > > Please find below my Web.xml
> >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
> > > Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>
> >
> > > <web-app id="WebApp">
> > >        <display-name>ElecForms</display-name>
> >
> > >        <listener>
> >
> > >  <listener-class>xx.xxx.ef.server.SessionListener</listener-class>
> > >        </listener>
> >
> > >        <!-- Servlets -->
> > >        <servlet>
> > >                <servlet-name>glsService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.GlsServiceImpl</servlet-class>
> > >        </servlet>
> > >        <servlet>
> > >                <servlet-name>formService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.FormServiceImpl</servlet-class>
> > >        </servlet>
> > >        <servlet>
> > >                <servlet-name>pcsService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.PcsServiceImpl</servlet-class>
> > >        </servlet>
> > >        <servlet>
> > >                <servlet-name>mapService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.MapServiceImpl</servlet-class>
> > >        </servlet>
> > >        <servlet>
> > >                <servlet-name>settingsService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.SettingServiceImpl</servlet-class>
> > >        </servlet>
> > >        <servlet>
> > >                <servlet-name>securityService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.SecurityServiceImpl</servlet-class>
> > >        </servlet>
> > >        <servlet>
> > >                <servlet-name>pdfService</servlet-name>
> >
> > >  <servlet-class>xx.xxx.ef.server.PdfServiceImpl</servlet-class>
> > >        </servlet>
> >
> > >        <servlet-mapping>
> > >                <servlet-name>pdfService</servlet-name>
> > >
>  <url-pattern>/electronicformsjboss/pdfService</url-pattern>
> > >        </servlet-mapping>
> > >        <servlet-mapping>
> > >                <servlet-name>glsService</servlet-name>
> > >
>  <url-pattern>/electronicformsjboss/glsService</url-pattern>
> > >        </servlet-mapping>
> > >        <servlet-mapping>
> > >                <servlet-name>formService</servlet-name>
> > >
>  <url-pattern>/electronicformsjboss/formService</url-pattern>
> > >        </servlet-mapping>
> > >        <servlet-mapping>
> > >                <servlet-name>securityService</servlet-name>
> >
> > >  <url-pattern>/electronicformsjboss/securityService</url-pattern>
> > >        </servlet-mapping>
> > >        <servlet-mapping>
> > >                <servlet-name>pcsService</servlet-name>
> > >
>  <url-pattern>/electronicformsjboss/pcsService</url-pattern>
> > >        </servlet-mapping>
> > >        <servlet-mapping>
> > >                <servlet-name>settingsService</servlet-name>
> >
> > >  <url-pattern>/electronicformsjboss/settingsService</url-pattern>
> > >        </servlet-mapping>
> > >        <servlet-mapping>
> > >                <servlet-name>mapService</servlet-name>
> > >
>  <url-pattern>/electronicformsjboss/mapService</url-pattern>
> > >        </servlet-mapping>
> >
> > >                <session-config>
> > >      <session-timeout>30</session-timeout>
> > >    </session-config>
> >
> > >        <!-- Default page to serve -->
> > >        <welcome-file-list>
> > >                <welcome-file>test.html</welcome-file>
> > >        </welcome-file-list>
> >
> > > </web-app>
> >
> > > All these servlet extends a custom class called BaseRemoteServiceImpl
> > > which extends RemoteServiceServlet.
> >
> > > On the onModuleLoad of the application the application checks if for a
> > > certain parameter called login. The application does an RPC call with
> > > the loginkey as parameter and checks if it is valid. If it valid, the
> > > application stores it in the session. The getfromsession and the
> > > saveinsession is a function in the BaseRemoteServiceImpl. Is it
> > > possible that the values are not overwritten if the variable is
> > > already stored in the session?
> >
> > > The onModuleLoad
> >
> > > securityService.getCredentials(Window.Location.getParameter("login"),
> > > new AsyncCallback<HashMap<String, String>>() {
> > >                        public void onFailure(Throwable arg0) {
> > >                                new AlertDialog(EFCONSTANTS.Error() +
> > > arg0.getMessage()).show();
> >
> > >                        }
> >
> > >                        public void onSuccess(HashMap<String, String>
> > > creds) {
> >
> > >                                if (creds.get(EfConstants.USER) != null
> &&
> > > creds.get(EfConstants.USER).trim().length() > 0) {
> > >                                        waitBox.hide();
> > >                                        HomePage homePage = new
> HomePage();
> > >                                        homePage.init();
> >
> > >                                } else {
> > >                                        waitBox.hide();
> > >                                        new
> > > AlertDialog(EFCONSTANTS.NoAccess()).show();
> > >                                }
> > >                        }
> > >                });
> >
> > > SaveInSession function
> >
> > >        protected void addToSession(HttpSession session, String label,
> > > Object
> > > val) {
> > >                // Reset parameters in session.
> > >                //log.info("Saving in sessionid: " +
> > > getThreadLocalRequest().getSession().getId() + " - label: " + label +
> > > " - val: " + val.toString());
> > >                session.setAttribute(label, val);
> >
> > >        }
> >
> > > GetFromSession function
> > >        protected Object getFromSession(HttpSession session, String
> label) {
> >
> > >                if (session != null)
> > >                        return session.getAttribute(label);
> >
> > >                return null;
> > >        }
> >
> > > Please let me know if you need more information. Many thanks!
> >
> > > On Dec 14, 2:04 pm, kim young ill <[email protected]> wrote:
> > > > can u post some more code  ? a bit more information would be more
> > > helpfull
> >
> > > > On Wed, Dec 14, 2011 at 2:01 PM, Appien <[email protected]>
> wrote:
> > > > > Unfortunately this didn't work either. It is possible that is has
> > > > > something to do with having multiple servlets which trying to use
> the
> > > > > same session?
> >
> > > > > For one part of the functionality it works as it is calling the
> same
> > > > > servlet twice...
> >
> > > > > On Dec 14, 9:13 am, kim young ill <[email protected]> wrote:
> > > > > > try to get Request from your rpc or rf public-implementation &
> pass
> > > it to
> > > > > > getFromSession()
> >
> > > > > > Wed, Dec 14, 2011 at 7:51 AM, Appien <[email protected]>
> > > wrote:
> >
> > > > > > > The thing is that I use the local I use the built-in Jetty
> server
> > > of
> > > > > > > GWT as development server. In the end the application will run
> on
> > > > > > > JBoss. For now I want to have it working on Jetty. I've
> searched
> > > the
> > > > > > > web, but I couldn't find Jetty session configure anywhere.
> >
> > > > > > > On Dec 13, 3:19 pm, Ed <[email protected]> wrote:
> > > > > > > > This has nothing to do with GWT.
> > > > > > > > Check your documentation of your servlet container.
> > > > > > > > Your web container is responsible for session management and
> not
> > > > > > > > touched by GWT.
> >
> > > > > > > > You can check your session id in Chrome or FF (FireCookie)
> > > > > development
> > > > > > > > tools.
> > > > > > > > Note: a session id is stored in a cookie (most of the times)
> and
> > > a
> > > > > > > > cookie is attached to a domain (check your domain usage).
> > > > > > > > - Ed
> >
> > > > > > > > On Dec 13, 2:48 pm, Jens <[email protected]> wrote:
> >
> > > > > > > > > Normally this should work out of the box with your servlet
> > > > > container I
> > > > > > > > > guess.
> >
> > > > > > > > > Do you have a valid JSESSIONID cookie (or a similar named
> > > cookie
> > > > > that
> > > > > > > holds
> > > > > > > > > the server session id) set in your browser and will it be
> > > > > transmitted
> > > > > > > to
> > > > > > > > > your servlet container (try to log request.getCookies())?
> >
> > > > > > > > > -- J.
> >
> > > > > > > --
> > > > > > > You received this message because you are subscribed to the
> Google
> > > > > Groups
> > > > > > > "Google Web Toolkit" 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-web-toolkit?hl=en.
> >
> > > > > --
> > > > > You received this message because you are subscribed to the Google
> > > Groups
> > > > > "Google Web Toolkit" 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-web-toolkit?hl=en.
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google Web Toolkit" 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-web-toolkit?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" 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-web-toolkit?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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-web-toolkit?hl=en.

Reply via email to