嗨,大家好我的問題。一個GWT項目,因爲我讀過的杜松子酒我只能在客戶端使用,而不是Guice在服務器端可用。這是我的問題。GWT Guice /杜松子酒在服務器端問題
讓我們先發布一些示例代碼。
服務器端。
public class WebchargeServiceImpl extends RemoteServiceServlet implements WebchargeService
{
@Inject
private Injector injector;
@Inject
private ExecuteOperations executeOperations;
.....
executeOperations.do(); ....
這裏是注射類ExecuteOperations
@Singleton
public class ExecuteOperations
{
.........
}
我也有小服務程序模塊類
public class SampleWebGuiceServletConfig extends GuiceServletContextListener
{
@Override
protected Injector getInjector()
{
return Guice.createInjector(Stage.DEVELOPMENT, new SampleWebModule());
}
} // class
.....
public class SampleWebModule extends ServletModule
{
@Override
protected void configureServlets()
{
bind(WebchargeServiceImpl.class); //is it correct to bind a class like that?
} // class
的web.xml
<servlet>
<servlet-name>.......WebchargeService</servlet-name>
<servlet-class>.....WebchargeServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>.........WebchargeService</servlet-name>
<url-pattern>/Webcharge/WebchargeService</url-pattern>
</servlet-mapping>
<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>......SampleWebGuiceServletConfig</listener-class>
</listener>
</web-app>
我錯過了一些東西,因爲我每次都得到空,這段代碼在servlet/jsp環境中工作正常,但是這裏... 建議的地方。
謝謝。
你在哪裏得到空? – MarcoS 2011-06-03 13:31:41
在類WebchargeServiceImpl中,實例executeOperations爲空,我希望是init。你怎麼看 ? – brakebg 2011-06-03 13:34:00