package com.zj;import java.io.*;
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class DownloadServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
//PrintWriter out = response.getWriter();
String filename=request.getParameter("filename");
System.out.println(filename);
System.out.println(filename);
response.setHeader("Content-Disposition","attachment; filename="+filename);
String path=this.getServletContext().getRealPath("/Images/"+filename);
FileInputStream fis= new FileInputStream(path);
OutputStream os=response.getOutputStream();
byte [] buf=new byte[1024];
int len=0;
while((len=fis.read(buf))>0) {
os.write(buf, 0, len);
}
os.close();
fis.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.doGet(request, response);
}}这段代码,可以实现多文件下载。。而下面的代码我加了个if就不能完成下载,点击下载的时候直接显示空白。。response.setContentType("text/html");
//PrintWriter out = response.getWriter();
String filename=request.getParameter("filename");
System.out.println(filename);
System.out.println(filename);
if(filename=="a.jpg") {
response.setHeader("Content-Disposition","attachment; filename=a.jpg");
String path=this.getServletContext().getRealPath("/Images/a.jpg");
FileInputStream fis= new FileInputStream(path);
OutputStream os=response.getOutputStream();
byte [] buf=new byte[1024];
int len=0;
while((len=fis.read(buf))>0) {
os.write(buf, 0, len);
}
os.close();
fis.close();
}
}为什么加了if语句就不能显示那个下载的对话框,奇怪了啊!!求解,第一段代码可以正常运行。。
解决方案 »
- 关于validation.xml的问题
- Tomcat配置成Windows服务后,JSP就不能修改,一修改就不能访问了,请教高手
- 大姐求救:我用的是JBOSS,当出现汉字“祎”等的字时,显示“\u794e”,怎么办,如何解决?
- axis1.4 客户端问题 wsdl (求高人指导)
- (SOS)------struts配置问题
- 求sql server2000 jdbc驱动
- JSP分页显示代码都是这个错误:Invalid character in input.
- 请问servlet编译时出现的这个问题什么意思
- !!!日期选择器!!!
- org.apache.thrift.transport.TTransportException:http response code 400如何解决
- java类型题求助,
- Ext嵌套的页面找不到方法
这是怎么回事,难道不能放在局部中?这地方没弄明白.求解