eclipse - 在 Eclipse 中调试 Servlet

标签 eclipse debugging gwt tomcat servlets

我使用 Google Web Toolkit 创建了一个 Web 应用程序,它能够通过 Http Post 接收移动客户端的一些数据。数据传输工作正常,使用 GWT RPC 的服务器/客户端通信也完全没有问题。

但是,我需要在从移动设备接收数据时调试网络服务器。因为我在 Web 应用程序中使用 Hibernate 和 MySQL,所以我不使用 Google App Engine。因此,如果我在本地主机模式下部署 Web 应用程序,它只能在 localhost:8888 上访问。

现在,如果我从手机发送数据,我必须将它发送到本地分配的 IP 地址,因为手机模拟器的本地主机不是运行 Web 应用程序的计算机的本地主机。为了确保一切正常,我尝试在模拟器之外(在运行模拟器的机器上)做一些帖子。这行得通,但我如何从模拟器发布到我的 Web 应用程序?

我怎样才能获得调试系统的权限?我已经尝试将最终应用程序部署到 tomcat 服务器并使用远程调试,但这也失败了。

最好的问候, 弗洛里安

最佳答案

好吧,如果我对您的问题的理解正确,那么真正的问题不是在 servlet 上调试应用程序,您所看到的真正问题是从手机进行调试。当手机连接到您的本地网络时(我猜您指向的是 192.168.?)您正在访问不与调试器通信的已编译 GWT 代码。

换句话说,当您使用浏览器在本地进行调试时,您实际上并没有运行已编译的 GWT 代码,而是使用 GWT 调试插件执行的检测代码,其工作方式恰好与已编译的 GWT 代码完全相同。 (大多)。所以当你的本地版本有“?gwt.codesvr=127.0.0.1:9997”之类的东西时,你的手机版本不能这样做,因此无法与调试器通信。

我能做的最好的事情就是广泛使用日志记录。如果您使用的是 iOS 设备并更改设置是您的 safari,它可以从移动 safari 为您输出日志。此外,如果您将 Android 调试器与 WebView 应用程序一起使用,您可以为日志消息附加一个监听器,然后将它们传送到 ADB 并在 Eclipse 中查看它们。绝对不如调试器好,但这是我迄今为止想到的最好的解决方案,如果有人有更好的解决方案,我很乐意知道它:)

希望对您有所帮助!

关于eclipse - 在 Eclipse 中调试 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734940/

相关文章:

java - 错误 : Unable to open class file R. java

java - 为什么我的java代码在eclipse中运行而不是作为.exe运行。或 .class 文件

java - 你能自动将 Eclipse 的调试器附加到子进程吗?

gwt - 如何使用客户端验证器验证方法调用的返回值在 EditorDriver 上设置约束条件

java - 方法 synchronizedMap(HashMap<Integer,Serializable>) 对于类型 Collections 是未定义的

Eclipse IDE View 消失 - 如何恢复

eclipse - Eclipse 在 userdir 中的哪里存储设置和插件?

java - 在 TextArea 中插入 ICON/PNG

unit-testing - 使用Resharper和Phantom JS调试 Jasmine 测试

c++ - 为什么 Windbg 无法在内核模式转储中显示我的用户模式调用堆栈?