来自Tomcat的资源获取FileNotFoundException

时间:2012-12-07 10:04:05

标签: java url tomcat

我正在运行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 个答案:

答案 0 :(得分:1)

假设你在Windows上。您可能需要将java.exe添加到病毒扫描程序/防火墙,以允许它发出绑定的网络连接。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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