Hi,
As I mentioned briefly in another thread, I wanted to share the set-up I used to get the servlets and filters configured in a Guice 2 webapp. Here goes:
Hope someone finds this useful.
Sondre
PS. This is replacing any web.xml config for SmartGWT, only the Guice context listener to set up the module + the guice filter will be there.
As I mentioned briefly in another thread, I wanted to share the set-up I used to get the servlets and filters configured in a Guice 2 webapp. Here goes:
Code:
/** Sets up filters and servlets for Smart GWT RPC. */
private void configureSmartGWTRPC() {
//since we cannot annotate third party lib, bind them here in singleton scope
this.bind(IDACall.class).in(Scopes.SINGLETON);
this.bind(FileDownload.class).in(Scopes.SINGLETON);
this.bind(DataSourceLoader.class).in(Scopes.SINGLETON);
this.bind(Init.class).in(Scopes.SINGLETON);
this.bind(CompressionFilter.class).in(Scopes.SINGLETON);
//set up URLs to be served by Smart GWT servlets
serve("/sc/init").with(Init.class);//URL not used, but simulates load-on-startup (Guice uses order from here)
serve("/sc/IDACall*").with(IDACall.class);//had to remove "/" before * compared to sample project to avoid a 404 message
serve("/sc/DataSourceLoader").with(DataSourceLoader.class);
serve("/sc/skins/*").with(FileDownload.class);
serve("/sc/system/modules/*").with(FileDownload.class);
serve("/sc/system/development/*").with(FileDownload.class);
serve("/sc/system/reference/skin/*").with(FileDownload.class);
//add the filter that behaves more or less like mod_deflate
filter("/sc/*").through(CompressionFilter.class);
}
Sondre
PS. This is replacing any web.xml config for SmartGWT, only the Guice context listener to set up the module + the guice filter will be there.