web app路径为 D:\tomcat\webapps\temp,如果要打开的html文件在 D:\tomcat\webapps\temp\result下,则在servlet中可用下面的代码来打开 html file :
writer.println("<script type='text/javascript'>"); writer.println("window.open('result/a.html')");
writer.println("</script>");但如果我要打开的 html file放在 E:\result下,请问此时我怎样才能在servlet中打开这个html file? 谢谢!
writer.println("<script type='text/javascript'>"); writer.println("window.open('result/a.html')");
writer.println("</script>");但如果我要打开的 html file放在 E:\result下,请问此时我怎样才能在servlet中打开这个html file? 谢谢!
OutputStream os = response.getOutputStream(); // 输出流
File file = new File("E:\\result\\xxoo.html"); // 打开文件
byte[] buffer = new byte[4096];
int len = 0;
FileInputStream fis = new FileInputStream(file);
try {
while ((len = fis.read(buffer)) > 0) {
os.write(buffer, 0, len);
}
} finally {
fis.close();
}
我按照你的代码去做,但还是不成功(我用的是tomcat6). 然后我用另一个tomcat6(重新下载的)去做,却可以成功打开html file。
我不知道这是为什么? 为什么我一直用的tomcat不行,重新下个却可以?
我是要打开服务器端的,想把生成的文件显示给用户看。 用 window.open的话我只能打开放在 tomcat里面的文件,不能打开放在其他盘的文件。
这个可能跟配置有关系,没法简单的得出一个推论。不过客观地说,自己写代码来负责读取文件并输出,综合效率并不高;如果能将该目录直接在Tomcat中发布成另一个WebContext,会更好些。