繁体   English   中英

GWT超级开发模式RPC 404

[英]GWT Super Dev Mode RPC 404

我正在尝试使用超级开发人员模式。 我正在运行超级开发人员模式,并且有一个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>

除此之外,还有什么方法可以使我减少疑惑? 也许一些新功能可以解决这些头痛问题? 我希望我知道如何在环境中设置其他开发人员! 并希望不会使投入生产变得更加困难(即希望最小化配置/代码更改)。

谢谢!

您只需要2台服务器:

  • 一种用于服务您的静态文件和服务器端代码(servlet)。 这包括应用程序已编译为JavaScript的版本(不过,您无需经常更新!)。 这可以是嵌入在DevMode中的服务器,也可以是独立的Jetty或Tomcat或其他任何东西,或者是Maven中的tomcat7-maven-plugin或jetty-maven-plugin或Gradle中的jetty插件。
  • SuperDevMode的CodeServer

请注意,如果使用GWT-RPC,则需要将gwt.codeserver.port系统属性设置为CodeServer的端口来启动服务器(假设它们位于同一台计算机上)。 这样,当您的浏览器(运行的客户端代码比编译为JS并部署到服务器的最新代码)运行时,该浏览器将与Servlet进行通信,该浏览器将从CodeServer加载GWT-RPC序列化策略。 否则,GWT-RPC可能会失败,并显示IncompatibleRemoteServiceException

另请参阅https://stackoverflow.com/a/18333050/116472

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM