web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpSevletRequest对象,代表响应的一个HttpSevletResponse

  • 如果要获取客户端请求过来的数据,找HttpServletRequest

  • 如果要给客户端响应一些信息,找HttpSevletResponse

常见应用:

  • 向浏览器输出消息

  • 下载文件

  1. 要获取下载文件的路径
  2. 获取下载的文件名
  3. 让浏览器支持下载
  4. 获取下载文件的输入流
  5. 创建缓冲区
  6. 获取OutPutStream对象
  7. 将FileOutPutStream流写入到buffer缓冲区
  8. 使用OutPutStream将缓冲区中的数据输出到客户端

  

 1 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
2 String realPath = "C:\\CS\\Java\\IdeaProjects\\JavaWebLearn\\practice01\\src\\main\\resources\\csgo.png";//绝对路径写法
3
4 String path = realPath.substring(realPath.lastIndexOf("\\"));
5
6 resp.setHeader("Content-Disposition", "attachment;filename" + path);
7
8 FileInputStream in = new FileInputStream(realPath);
9 int len = 0;
10 byte[] buffer = new byte[1024];
11
12 ServletOutputStream out = resp.getOutputStream();
13
14 while ((len = in.read(buffer)) != -1) {
15 out.write(buffer,0,len);
16 }
17
18 out.close();
19 in.close();
20 }

JavaWeb学习day6-Response初学的更多相关文章

  1. 20160322 javaweb 学习笔记--response验证码实现

    package com.dzq.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; im ...

  2. 20160322 javaweb 学习笔记--response 重定向

    //一般方法 response.setStatus(302); response.setHeader("Location", "/20160314/index.jsp&q ...

  3. Javaweb学习——request&response

    request对象的作用 request是服务器对浏览器访问请求的封装 访问请求参数,通过getParameter()方法获取传递参数的值. 在进行转发请求时,需要把一些参数传递到转发后的页面进行处理 ...

  4. JavaWeb学习总结-04 Servlet 学习和使用

    一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...

  5. javaweb学习总结(六)——Servlet开发(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

  6. javaweb学习之Servlet开发(二)

    javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个< ...

  7. JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...

  8. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. (转)JavaWeb学习总结(十三)——使用Session防止表单重复提交

    如何防止表单重复提交 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复 ...

  10. Servlet的学习之Response响应对象(1)

    在之前学习了Servlet中的主体结构,包括Servlet的生命周期方法,和非生命周期方法能获取的一些非常重要的对象如ServletConfig.ServletContext对象等,而从这篇开始我们将 ...

随机推荐

  1. nf-Press —— 在线文档也可以加载组件和编写代码

    如果帮助文档可以加载组件,那么在介绍的同时就可以运行演示demo,是不是很酷? 如果可以在线修改运行代码,那么是不是更容易理解? 上一篇 https://www.cnblogs.com/jyk/p/1 ...

  2. 网络监听FTP明文口令实验

    一. 开启环境 1.登录FTP服务器. 2.启动FTP服务器 (1)打开FTP服务器.点击最左面绿色按钮,启动ftp服务器. (2)可以看到以下变化:ftp服务器启动.显示"FTP服务在线& ...

  3. 利用DNSLog实现无回显注入

    测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行盲注,但有些网站会ban掉我们的ip,这样我们可以通过设置ip代理池解决, 但是盲注往往效率很低,所以产生了DNSlog注入 DNSLOG ...

  4. 深度学习工具LabelXml安装教程

    LabelXml安装教程 1,下载LabelXml工具 前往github上下载labelxml,官网地址如下:https://github.com/tzutalin/labelImg 下载打包源码为z ...

  5. knife4j只用此插件的最简洁开发方式

    一.POM添加 在pom文件里添加包 1 <!--引入knife4j以来--> 2 <dependency> 3 <groupId>com.github.xiaoy ...

  6. SP接口的全双工首发接口整合

    unsigned char bits = 8; unsigned int speed = 50000; unsigned short delay; static void spi_transfer_d ...

  7. 哪些是重要的bean生命周期方法?你能重载它们吗?

    有两个重要的bean 生命周期方法,第一个是setup , 它是在容器加载bean的时候被调用.第二个方法是 teardown 它是在容器卸载类的时候被调用. The bean 标签有两个重要的属性( ...

  8. JavaScript对不同数据结构的常见循环

    var obj1 = { title : 'tom and jetty', author : 'pecool' } function Book(){} Book.prototype.price = 2 ...

  9. 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面) ?

    索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针. 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的 ...

  10. 说出几点 Java 中使用 Collections 的最佳实践?

    这是我在使用 Java 中 Collectionc 类的一些最佳实践: a)使用正确的集合类,例如,如果不需要同步列表,使用 ArrayList 而不是 Vector. b)优先使用并发集合,而不是对 ...