Java本地Servlet调试与远程连接

时间:2010-09-22 00:01:40

标签: java servlets

我真的不知道从哪里开始这个问题,所以我只会说出错了:

我正在Eclipse中运行一些代码,它连接到我们的远程“dev”服务器,并且可能在那里使用服务器。这意味着当我更新servlet中的代码或任何实际使用servlet的代码时,我的本地机器上不会反映任何更改。

我的问题是如何在本地计算机上运行servlet并将其连接到dev服务器以使用其MySQL DB来获取数据。据推测,这将允许我在本地更改servlet并仍然使用测试数据。

我也在运行Tomcat 5.5,在调试配置中,我告诉servlet在localhost:8000上运行,但它说无法连接。

我真的被困在这里而且令人沮丧,因为我对代码所做的任何改变都没有反映出来。此外,我看不到任何调试信息来判断我的更改是否甚至更少地工作。

我还尝试对部分代码进行一些明显的更改,以便很容易看到我正在影响它,并且看起来它们在我运行代码时实际上没有效果。

tl; dr我很蠢,不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

servlet是Web应用程序的一部分;如果您拥有该应用程序的源代码,那么在Tomcat本地部署并使用Eclipse进行调试并不困难。

如果应用程序被硬编码为使用dev数据库,或者如果你有应用程序的配置文件指向db,那么只要你的本地主机可以访问数据库,你就可以了;如果单独配置,您需要弄清楚如何复制该配置。

如果Eclipse无法连接到本地Tomcat服务器,请尝试从浏览器自行连接;这将帮助您缩小问题的范围。

答案 1 :(得分:0)

您需要让tomcat容器在您的工作站上运行。让所有配置都模仿您在服务器环境,所有库等中的所有内容。

如果您需要连接到TestDB并且无法从您的计算机上ping它,您可以按如下方式对包含TestDB的测试服务器进行隧道连接(假设MySQL):

ssh -L3306:localhost:3306 youruser@tesetserver

这会将工作站的端口路由到testserver,从而有效地使您的本地端口成为测试服务器中的端口。

在tomcat上启动您的Web应用程序,看看它是如何工作的。