上海网站建设 知名觉,wordpress shift+enter,做卡盟网站赚钱吗,上海购房网官网文章目录 [TOC](文章目录) response说明一、response文件下载二、待补充。。。 response说明
response是指HttpServletResponse,该响应有很多的应用#xff0c;比如像浏览器输出消息#xff0c;下载文件#xff0c;实现验证码等。
一、response文件下载
1.创建一个javaw… 文章目录 [TOC](文章目录) response说明一、response文件下载二、待补充。。。
response说明
response是指HttpServletResponse,该响应有很多的应用比如像浏览器输出消息下载文件实现验证码等。
一、response文件下载
1.创建一个javaweb的项目。
2.实例类FileServlet的具体实现。
import java.net.URLEncoder;
public class FileServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1.获取要下载文件的路径 realPath:绝对路径String realPath E:\\Software\\IDEA\\javaweb-02-servlet\\response\\src\\main\\resources\\aa.webp;System.out.println(文件下载的路径: realPath);
// 2.下载的文件名String fileName realPath.substring(realPath.lastIndexOf(\\) 1);
// 3.设置浏览器能够支持下载我们需要的东西
// 如果想让网站能下载东西需要搜一个下载文件的一个头。
// resp.setHeader(Content-disposition, attachment;filename fileName);resp.setHeader(Content-disposition, attachment;filename URLEncoder.encode(fileName,UTF-8));
// 4.获取下载文件的输入流。FileInputStream fis new FileInputStream(realPath);
// 5.创建缓冲区
// 6.获取OutputStream对象
// 7.将FileOutputStream流写入到缓冲区,使用OutputStream将缓冲区中的数据输出到客户端。ServletOutputStream oos resp.getOutputStream();byte[] buf new byte[1024];int len 0;while ((len fis.read(buf)) 0) {oos.write(buf, 0, len);}oos.close();fis.close();}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}
3.配置web.xml文件及tomcat服务器。
4.启动服务。
5.回顾总结
(5.1思路分析 1.获取文件输入流2.获取web的响应的输出流3.将输入流写入到输出流进而发给客户端。 (5.2注意实项: 1.下载文件名 String fileName realPath.substring(realPath.lastIndexOf(\\) 1);- 2.下载文件的头resp.setHeader(Content-disposition, attachment;filename fileName);- 3.相关搜索二、待补充。。。