我正在运行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上。
我认为可能是某些文件夹安全访问问题或用户权限,但最后我不知道。有什么建议吗?
答案 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代码获得。 在停止冲突的服务之后,一切都会正常工作。