我有一个名为aniltest.jsp
的JSP文件,其中包含以下代码:
<%
try {
URL aURL = new URL("http://localhost:80/admin/anil1.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(aURL.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println("content of anil1.txt: " + inputLine);
in.close();
} catch (IOException e) {
System.out.println("Error reading content of url");
e.printStackTrace();
}
%>
在上面的代码中,我试图读取名为anil1.txt
的文本文件,该文件位于http://localhost:80/admin/anil1.txt
运行时出现以下错误:http://localhost:80/aniltest.jsp
java.io.FileNotFoundException: http://localhost:80/admin/anil1.txt at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1625) at _jsp._aniltest__jsp._jspService(_aniltest__jsp.java:93) at _jsp._aniltest__jsp._jspService(_aniltest__jsp.java:31) at com.caucho.jsp.JavaPage.service(JavaPage.java:64) at com.caucho.jsp.Page.pageservice(Page.java:548) at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:194) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:289) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:838) at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1349) at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1305) at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1289) at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1197) at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:993) at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117) at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93) at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:169) at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61) at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173) at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)
虽然我可以毫无问题地访问网络浏览器中的文件http://localhost:80/admin/anil1.txt
:我正在使用最新的Resin服务器。我完全陷入困境,无法弄清楚问题是什么。
答案 0 :(得分:0)
试试这个
URLConnection uCon = aUrl.openConnection();
InputStream is = uCon.getInputStream();
然后从输入流中读取字节
答案 1 :(得分:0)
代码似乎没有任何问题。您可以检查localhost是否解析到其他任何地方,您可以尝试127.0.0.1。提及端口不是强制性的,它也应该工作(默认为80)。
如果问题仍然存在,请尝试使用wireshark嗅探请求和响应。
网址是否受到任何身份验证的保护?尝试清除浏览器cookie和缓存并发起新的请求。
答案 2 :(得分:0)
嘿伙计文件未发现异常是因为Skype使用端口80进行传入连接。在查看港口后,它运作良好。谢谢你的帮助。