使用TomCat实例调试GWT服务器端代码

时间:2011-11-07 16:36:09

标签: gwt

我正在建立一个使用MySQL作为数据源的项目,我遇到了几个问题。

  1. 似乎Java端的MySQL驱动程序与内置的GWT Jetty实例不兼容。真的?
  2. 我可以配置一个TomCat实例并使MySQL驱动程序正常工作,但是我无法调试内联(客户端和服务器一起),就像我通常能够在开发模式下使用Jetty实例一样,根据{{3 }}。
  3. 我花了很长时间在PHP或Java后端之间做出决定,除了GWT RPC机制之外的一个主要优点是,如果你使用Java,GWT提供了一个很好的开发环境。

    有没有人遇到过使用appEngine以外的数据源的需要?你是如何设置开发环境的?

2 个答案:

答案 0 :(得分:4)

我相信MySQL JDBC驱动程序与嵌入式Jetty“兼容”;但也许您在AppEngine项目中,在这种情况下,嵌入式Jetty服务器禁止使用与AppEngine不兼容的类(因此您可以在开发时使用与Google服务器上的生产环境尽可能相似的行为)。 / p>

要调试在Tomcat中运行的服务器代码,您需要使用Eclipse WTP(或等效,如果您不使用Eclipse)启动它(服务器代码),或者使用appropriate debug arguments启动Tomcat实例例如-agentlib:jdwp=transport=dt_socket,address=8788,server=y,suspend=y,然后将其作为“远程Java应用程序”进行调试(在Eclipse中,我现在不知道它们如何在其他IDE中命名)。 然后,您可以在-noserver模式(以及在调试中)启动DevMode以同时调试服务器和客户端(是的,您实际上将有2个调试会话)。

请注意,您引用的文档(其最新版本可以找到here)不涉及调试服务器端代码,因为它高度依赖于您使用的服务器,部署方式和位置服务器端的GWT代码只是一个标准的servlet,因此GWT没有特定的功能。如何调试服务器端代码。

仅供参考,我们使用上述设置使用独立的Jetty实例(不是嵌入式Jetty服务器)超过一年。

答案 1 :(得分:1)

您可以使用GWT和Tomcat,但仍然可以调试客户端和服务器端。查看Eclipse中的jetty启动参数。

几年前我一直处于类似的位置,决定使用Jetty进行开发,使用tomcat进行测试。