Search code examples
springgwtjakarta-eespring-mvcgwt-platform

Injection of HttpServletRequest in GWTP ActionHandler using Spring


I have implemented my GWT application using Spring + GWTP.

I want to access HttpServletRequest object into my ActionHandler class.

The ServerModule is Spring Configuration class (using @Configuration Annotation).

Now problem is how can I inject the current HttpServletRequest, ServletContext, ServletConfig in my ActionHandler using Spring.

Following is the definition of ServerModule:

@Configuration   
@Import(DefaultModule.class)    
public class ServerModule extends HandlerModule
{
   @Bean
   public UserVerficationActionHandler getUserVerificationActionActionHandler()
   {
      return new UserVerficationActionHandler();
   }
}

In above Example I just want to inject the HttpServletRequest using Spring.

Any guidance on this highly appreciated.

Thanks.


Solution

  • The RequestProvider is your solution. It's a class in gwt-dispatch-server jar.

    DefaultModule provides the RequestProvider bean so that you can just inject it into places you need it.

    Take a look at the sourcec code for com.gwtplatform.dispatch.server.spring.configuration.DefaultModule which creates the RequestProvider as a DefaultRequestProvider which then defers to RequestContextHolder to do the work.

    See the link for what you need to add to your web.xml to get this to work.