Вы должны создать модуль сервлета guice, который расширяет com.google.inject.servlet.ServletModule
(назовем его FooModule
). Там вы определяете свои привязки и пути к сервлетам, переопределяя метод configureServlets()
.
Затем вы должны создать прослушиватель контекста, расширив com.google.inject.servlet.GuiceServletContextListener
(назовем его BarContextListener
). Там вы должны реализовать метод getInjector()
, например:
protected Injector getInjector() {
Injector injector = Guice.createInjector(new FooModule());
return injector;
}
Затем вы удаляете все отображения сервлетов из вашего web.xml, а затем устанавливаете фильтр:
<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
и слушатель контекста Вы создали:
<listener>
<listener-class>path.to.package.of.context.listener.BarContextListener</listener-class>
</listener>
Таким образом, все ваши сервлеты управляются Guice и позволяют внедрять зависимости на стороне сервера вашего приложения. Он работает для меня в Tomcat, поэтому он также должен работать на Jetty. Не забудьте включить guice-servlet-<version>.jar
в ваш путь к классам. Я не использовал его с Ваадином, но, думаю, мой ответ немного помог Тебе.