0

我正在运行 Tomcat 5.0,但从 Java 的 tomcats 'webapps' 获取资源时遇到问题。有一个 html 文件,我在服务器启动后检查它是否可用

  tomcat_folder/webapps/myProject/site.html

在 Java 中,我在服务器启动时运行此代码:

  URL url = new URL("http://localhost:8080/myProject/site.html");
  URLConnection con = url.openConnection();
  Object content = con.getContent();

getContent() 抛出 FileNotFoundException。

但是当我将“http://localhost:8080/myProject/site.html”放入浏览器时,网站显示没有问题。

此外,我在 4 台机器上进行了测试——在 2 台机器上一切都很好,在其他 2 台 FileNotFoundException 上。

我认为这可能是一些文件夹安全访问问题或用户权限,但最终我没有任何线索。有什么建议么?

4

4 回答 4

1

假设你在窗户上。您可能需要将 java.exe 添加到您的病毒扫描程序/防火墙中,以允许它建立出站网络连接。

于 2012-12-07T10:09:21.547 回答
0

如果您的代码在 servlet 中,那么您可以获得 servlet 的真实路径,然后将文件名附加到它。

String servletPath = getServletContext().getRealPath("/");
URL url = new URL(servletPath+"site.html");

对于普通的 java 应用程序,您将需要您的 tomcat 安装的 webapps 文件夹的完整路径。

于 2012-12-07T10:23:50.803 回答
0

您的代码似乎是正确的。
但是您错过了实际连接
con .connect();
在尝试获取内容之前

于 2012-12-08T19:43:19.373 回答
0

我找到了解决我的问题的方法。

原因是使用端口 8080 的 Windows 服务,Tomcat 也在使用该端口。资源可以通过浏览器获得,但不能通过 Java 代码获得。停止冲突服务后,一切正常。

于 2012-12-10T12:58:09.583 回答