javaweb学习10:Response下载文件
-
HttpServletResponse对象:
-
web服务器接收到客户端的HTTP请求,会针对这个请求,分别创建一个代表请求的HttpServletRequest对象,一个代表响应的HttpServletResponse对象;
-
如果要获取我们客户端请求过来的参数:找HttpServletRequest;
-
-
-
简单分类:
-
负责向浏览器发送数据的方法:
ServletOutputStream getOutputStream() throws IOException;
PrintWriter getWriter() throws IOException; -
负责向浏览器发送响应头的方法:
void setCharacterEncoding(String var1);
void setContentLength(int var1);
void setContentLengthLong(long var1);
void setContentType(String var1);
void setDateHeader(String var1, long var2);
void addDateHeader(String var1, long var2);
void setHeader(String var1, String var2);
void addHeader(String var1, String var2);
void setIntHeader(String var1, int var2);
void addIntHeader(String var1, int var2); -
响应的状态码:
int SC_OK = 200;
int SC_NOT_FOUND = 404;
int SC_INTERNAL_SERVER_ERROR = 500;
int SC_BAD_GATEWAY = 502;
-
-
常见应用:
-
向浏览器输出消息;
-
下载文件;
-
要获取下载文件的路径;
-
下载的文件名是什么;
-
设置让浏览器支持下下载我们需要的东西;
-
获取下载文件的输入流;
-
创建缓冲区
-
获取OutputStream对象;
-
将FileOutputStream流写入到buffer缓冲区;
-
使用OutputStream将缓冲区中的数据输出到客户端;
-
-
-
代码案例:
/**
* 下载文件
*/
public class FileServlet extends HttpServlet {
/**
* 1. 要获取下载文件的路径;
* 2. 下载的文件名是什么;
* 3. 设置让浏览器支持下下载我们需要的东西;
* 4. 获取下载文件的输入流;
* 5. 创建缓冲区
* 6. 获取OutputStream对象;
* 7. 将FileOutputStream流写入到buffer缓冲区;
* 8. 使用OutputStream将缓冲区中的数据输出到客户端;
*
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
分类:
06-Java Web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律