我正在尝试开始使用超级开发模式。我有超级开发模式运行,并有一个Web服务器提供我的主html页面,在那里我能够'开发模式'并重新编译模块。现在我试图让这个页面访问我的RequestFactory和RPC servlet。我启动了常规开发模式,并在localhost:8888 / gwtRequest上提供了servlet。所以现在我有三台服务器正在运行:
http://localhost:9876/ - GWT Code Server
http://localhost:8080/ - Mongoose web server serving /war directory
http://localhost:8888/ - GWT Dev Mode running servlets
如何将我的应用指向正确的servlet容器?这些服务器都是必需的吗?我现在得到一个404,因为它正在查看http://localhost:8080/gwtRequest
。
以下是web.xml的片段:
<servlet>
<servlet-name>requestFactoryServlet</servlet-name>
<servlet-class>com.example.server.util.ExampleRequestFactoryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>requestFactoryServlet</servlet-name>
<url-pattern>/gwtRequest</url-pattern>
</servlet-mapping>
过去,有什么方法可以让这个错综复杂吗?也许一些新功能会解决一些令人头疼的问题?我希望一旦我知道如何设置其他开发人员的环境!并且希望不要太难以推动生产(即希望最小化配置/代码更改)。
谢谢!
答案 0 :(得分:1)
您只需要2台服务器:
请注意,如果您使用GWT-RPC,则您希望启动服务器,并将gwt.codeserver.port
系统属性设置为CodeServer的端口(假设它们位于同一台计算机上)。这样,当您的浏览器(运行比您编译到JS并部署到服务器的更新的客户端代码)与您的servlet通信时,那个将从CodeServer加载GWT-RPC序列化策略。否则,GWT-RPC可能会因IncompatibleRemoteServiceException
而失败。