Maven 2 这个GWT模块结构正常吗? 描述
我有一个使用GWT maven插件的GWT父项目。该项目分为两个子项目:域和WebApp,每个项目包含pom.xml文件。我想从GWT客户端代码中分离域代码 父项目Maven 2 这个GWT模块结构正常吗? 描述,maven-2,gwt,dto,gwt-rpc,Maven 2,Gwt,Dto,Gwt Rpc,我有一个使用GWT maven插件的GWT父项目。该项目分为两个子项目:域和WebApp,每个项目包含pom.xml文件。我想从GWT客户端代码中分离域代码 父项目 /母公司 /Parent/pom.xml 域项目 [1] 我认为它是在服务器上运行的应用程序的服务器端部分 /父/域 /父/域/pom.xml …/beans/PersonBean.java …/dao/PersonDAO.java …/services/PersonService.java …/util/DateUtil.j
- /母公司
- /Parent/pom.xml
- /父/域
- /父/域/pom.xml
- …/beans/PersonBean.java
- …/dao/PersonDAO.java
- …/services/PersonService.java
- …/util/DateUtil.java
- …/gwt/client/GWTPersonService.java
- …/gwt/server/GWTPersonServiceImpl.java
- …/gwt/shared/GWTPersonDTO.java——一个DTO(数据传输对象)
- 家长/网络应用
- Parent/WebApp/pom.xml
- …/gwt/client/PersonUI.java
- …/gwt/util/GWTUtility.java-这是一个由gwt组件调用的实用程序类,它不在服务器上使用
- …/webapp/WEB-INF/WEB.xml
- …/webapp/Page.css
- …/webapp/Page.html
GWTPersonServiceImpl
是一个servlet,在服务器上运行,而不是在客户机上运行,因此它属于域gwtuity
执行什么功能?如果只在客户端使用,则属于WebApp;如果它只在服务器上使用,那么它属于域;如果两者都使用,那么它可能属于WebApp和Domain都依赖的第三个项目平民 CmnDomain[Java项目] src/java/com/cmnapp/CmnDomain.gwt.xml//指定“域”作为源 GWT应用程序中使用的src/java/com/cmnapp/domain//POJO src/java/com/cmnapp/iBatis//iBatis实现(您可以在这里使用您的DAO impl.here) src/java/com/myapp/service//commonspring服务 MyApp MyAppService[Java项目] src/java/com/mynapp/MyAppDomain.gwt.xml//指定“域”作为源 GWT应用程序中使用的src/java/com/mynapp/domain//POJO src/java/com/mynapp/iBatis//iBatis实现(您可以在这里使用您的DAO impl.here) src/java/com/myapp/service//Spring服务 MyAppWeb[Gwt Web项目] src/java/com/mynapp/MyApp.gwt.xml//指定“client”和“shared”作为源文件夹 src/java/com/myapp/client//纯GWT代码可以从该项目的.jar中排除 src/java/com/myapp/shared//在UI和表示层之间共享,例如常量 src/java/com/myapp/server//rpcservlet、标准servlet、struts操作等。 src/webapp/WEB-INF/WEB.xml src/webapp/images//images src/webapp/javascript//自定义java脚本 src/webapp/css//cascade样式表 src/webapp/WEB-INF/jspx//仅限内部访问 src/webapp/secure//用户登录后内容可访问 src/webapp/login//可通过/不通过登录访问的内容
1.第三个项目的好处是什么?为什么不把所有共享代码都放在我想WebApp项目可以(应该?)访问的域项目中呢?2.由于GWTPersonServiceImpl.java是一个servlet,我认为它应该位于表示服务器端代码的域中。您认为域项目与服务器端代码是不同的概念吗?4.如果任何序列化类型属于“共享”项目,我是否应该将所有持久性bean移动到那里,并让DAO层访问它?顺便说一句,由于一个错误,除非您编辑它,否则我不能对您的答案投票。请在上面稍作改动。你想怎么做都行。从逻辑上讲,对我来说,共享代码属于它自己的项目,但这不一定是每个项目的最佳方法。2.从您的问题中不清楚GWTPersonServiceImpl是一个servlet。4.是的,这就是我要说的重点。 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