-Dfile.encoding=UTF-8

HttpServletResponse接口

  1. 介绍

    • HttpServletResponse接口来自于Servlet规范中,在Tomcat中存在于servlet-api.jar
    • HttpServletResponse接口实现类由Http服务器负责提供
    • HttpServletRespones接口负责将doGet、doPost方法执行的结果写入到响应体交给浏览器
    • 开发人员习惯将HttpServletResponse接口修饰的对象称为响应体
  2. 主要功能

    • 将执行结果以二进制形式写入到响应体中

    • 设置相应头中content-type属性值,从而控制浏览器使用对应的编译器将响应二进制数据编译为文字、图片、视频、命令

      response.setContentType("text/html;charset=utf-8");
      
    • 设置响应头中location属性,将一个请求地址赋值给location。从而控制浏览器相指定的服务器发送请求。

HttpServletRequest接口

  1. 介绍
    • HttpServletRequest接口来自于Servlet规范中,在Tomcat中存在于servlet-api.jar
    • HttpServletRequest接口实现类由Http服务器负责提供
    • HttpServletRequest接口负责在doGet、doPost方法运行时读取Http请求协议包的信息
    • 习惯称为请求对象
  2. 作用
    • 可以读取Http请求协议包中请求行中的信息
    • 可以读取保存在Http请求协议包中的请求头或者请求体中请求参数信息
    • 可以代替浏览器向Http服务器申请资源文件调用

请求对象和响应对象生命周期

  1. 在Http服务器接受到浏览器发送的http请求协议包之后,自动为当前的http请求协议包生成一个请求对象和一个响应对象。
  2. 在Http服务器调用doGet、doPost方法时,负责请求对象和响应对象作为实际参数传递到方法,确保doGet、doPost正确执行。
  3. 在Http服务器准备推送Http响应协议包之前,负责将本次请求关联到请求对象和响应对象。

文件上传下载

将input中的type设置为file

将form表单中的method设置为post,get请求会将文件名称传给服务端,而不是文件本身

form表单enctype设置为multipart/form-data,以二进制的形式

Q.E.D.


一个在读大学生