java URL 报错:java.io.FileNotFoundException: Response: '404: Not Found' for url:

zhenghlong 2011-12-12 01:42:59
我写了一个去其他地址下载文档的jap,本机上用没问题,但到了linux 上就报
java.io.FileNotFoundException: Response: '404: Not Found' for url: 'http://10.192.27.22:7001/webapp/浙江分公司/日报测试.xls'
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:472)
at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:36)
at jsp_servlet._releakage.__unknown._jspService(__unknown.java:131)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
求各位大哥指点迷津啊,我的代码是:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*" %>
<%@ page import="sun.net.ftp.FtpClient" %>
<html>
<head>

</head>
<body>
<%request.setCharacterEncoding("UTF8");
response.reset();
String ursename = request.getParameter("unitname");
String filename = request.getParameter("filename");
if(ursename!=null){
ursename = new String(ursename.getBytes("ISO-8859-1"),"utf-8");
}
if(filename!=null){
filename = new String(filename.getBytes("ISO-8859-1"),"utf-8");
}
//System.out.println(ursename+"\\\\\"+filename);
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("content-disposition", "attachment;filename=\""
+ java.net.URLEncoder.encode(filename, "UTF-8") + "\"");
//FtpClient ftpclient = new FtpClient("10.190.50.16",90);
%>

<%
InputStream in = null;
OutputStream outp = null;
//String url = "/"+ursename+"/"+filename;

try {
//ftpclient.login("0","CFT^7ujm");
//ftpclient.binary();
//in = new URL( " ftp://10.190.50.16:90/北京分公叄1�7/防渗漏系统日统计快报_北京分公司_2011-12-09.xls").openConnection().getInputStream();
//in =ftpclient.get(url);
String url2 = "http://10.192.27.22:7001/webapp/浙江分公司/日报测试.xls";
URL url = new URL(url2);
URLConnection urlcon=url.openConnection();
in = urlcon.getInputStream();
outp = response.getOutputStream();
byte[] b = new byte[1024];
int i = 0;

while ((i = in.read(b)) > 0) {
outp.write(b, 0, i);
}
outp.flush();
} catch (Exception e) {
System.out.println("Error!");
e.printStackTrace();

} finally {
if (in != null) {
try {
in.close();
in = null;
} catch (IOException e) {
e.printStackTrace();
}
}
//ftpclient.sendServer("QUIT\r\n");
}
if (outp != null) {
try {
outp.close();
outp = null;
} catch (IOException e) {
e.printStackTrace();
}
}

%>

<%out.clear();
out = pageContext.pushBody();
%>
</body>
</html>
...全文
1404 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhqfjfh 2012-06-08
  • 打赏
  • 举报
回复
解决了吗,我也想知道怎么弄
zhenghlong 2011-12-13
  • 打赏
  • 举报
回复

感谢各位的帮助,问题我找到了,我后来问了网管,他说我的linux和10.192.27.22根本不是一个网段,是不可能通信的,分我都给各位了,谢谢啊
仲兴轩 2011-12-12
  • 打赏
  • 举报
回复
String url2 = "http://10.192.27.22:7001/webapp/浙江分公司/日报测试.xls";
url2 = java.net.URLEncoder.encode(url2, "UTF-8");

转码试下
MuBeiBei 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhenghlong 的回复:]

英文,我没试过,但我在IE中直接打路径,是可以打开这个url的,我以后要做的也全是中文路径,所有英文是不行的
[/Quote]

把地址换成英文~·中文会出问题~·
zhenghlong 2011-12-12
  • 打赏
  • 举报
回复
英文,我没试过,但我在IE中直接打路径,是可以打开这个url的,我以后要做的也全是中文路径,所有英文是不行的
qq307023807 2011-12-12
  • 打赏
  • 举报
回复
中文改成英文试试
灬上海爽爷 2011-12-12
  • 打赏
  • 举报
回复
404就是没这页面
路径不对吧

10,607

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧