簡體   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