我有一个使用gwt-maven-plugin的Parent GWT项目。该项目分为2个子项目:Domain和WebApp,每个项目包含pom.xml文件。我想从GWT客户端代码中拆分域代码。
[1]我认为它是服务器上运行的应用程序的服务器端部分
[2]我认为它是在Web浏览器中运行的应用程序的客户端。
PersonUI将调用GWTPersonService调用PersonService的方法(我需要这种分离,因为PersonService.java也将被非GWT客户端调用)。
PersonService将调用使用并返回PersonBean实例的PersonDAO。然后,PersonBean转换为GWTPersonDTO并由GWTPersonServiceImpl发送给客户端。
谢谢!
答案 0 :(得分:1)
GWTPersonServiceImpl
是一个servlet并且在服务器而不是客户端上运行,因此它属于域。GWTUtility
执行什么功能?如果它仅在客户端上使用,则它属于WebApp;如果它只在服务器上使用,那么它属于Domain;如果它在两者上使用,那么它可能属于WebApp和Domain都依赖的第三个项目。com.google.gwt.user.client.rpc.IsSerializable
或(有限制)java.io.Serializable
。请参阅GWT development guide for details。无论如何,按照设计,项目中的任何序列化类型可能都属于Domain和WebApp所依赖的模块。答案 1 :(得分:1)
我按如下方式管理:
Commons CmnDomain [Java Project] src/java/com/cmnapp/CmnDomain.gwt.xml // specifying "domain" as source src/java/com/cmnapp/domain // POJO's used in GWT application src/java/com/cmnapp/iBatis // iBatis implementation (you can have ur DAO impl. here) src/java/com/myapp/service // Common Spring service MyApp MyAppService [Java Project] src/java/com/mynapp/MyAppDomain.gwt.xml // specifying "domain" as source src/java/com/mynapp/domain // POJO's used in GWT application src/java/com/mynapp/iBatis // iBatis implementation (you can have ur DAO impl. here) src/java/com/myapp/service // Spring service MyAppWeb [Gwt Web Project] src/java/com/mynapp/MyApp.gwt.xml // specifying "client" and "shared" as source folders src/java/com/myapp/client // Pure GWT code can be excluded from .jar of this project src/java/com/myapp/shared // Shared between UI and Presentation tiers e.g. constants src/java/com/myapp/server // RPC servlet, Standard servlet, struts action, etc. src/webapp/WEB-INF/web.xml src/webapp/images // images src/webapp/javascript // custom java scripts src/webapp/css // cascade style sheets src/webapp/WEB-INF/jspx // internal access only src/webapp/secure // content accessible post user login src/webapp/login // content accessible with/without login