response对象(响应)
 响应行
  状态码 :setStatus(int a) 设置状态码 302重定向 304控制缓存
 响应头
  setHeader() 一个key对应一个value
  addHeader() 一个key对应多个value
 响应体
  getOutputStream() 字节输出流
  getWriter() 字符输出流

* 实现重定向
  1.设置状态码(302) 设置头location
  2.重定向的方法:sendRedirect("客户端绝对路径"); (/项目名/文件名)

* 页面的定时刷新
  使用refresh头完成页面的定时刷新 setHeader("refresh","5;url=/项目名/xxx");
  使用HTML的标签<meta>

* 禁用浏览器的缓存(设置三个头信息 CEP)

* 向页面输出中文乱码的问题
  * 字节流
     设置浏览器打开文件时的编码
     response.setHeader("Content-Type","text/html;charset=UTF-8");
     获取字符串的字节数组
     "中文".getBytes("UTF-8");

  * 字符流
     设置浏览器打开文件时的编码
     response.setHeader("Content-Type","text/html;charset=UTF-8");
     设置response缓冲区的编码(默认是ISO-8859-1)
     response.setCharacterEncoding("UTF-8");

  * 简单方式
     response.setContentType("text/html;charset=UTF-8");

* 文件下载
  * 通过IO流进行读取
  * 设置头信息 setHeader("Content-Disposition","attachment;filename="+文件名称); 以附件的形式打开

* 验证码的实现
  * 在内存中生成图片 BufferedImage
  * 获取画笔的对象

  * 画图片背景色

  * 设置旋转和颜色
  * 画验证码的字符或数字

  * 设置干扰线颜色和坐标

  * 画干扰线
  * 输出图片到浏览器 ImageIO.write(BufferedImage,"jpg",response.getOutputStream());

* 通过img标签的src的属性 设置验证码图片

* request对象(请求)
  * 获取客户机的信息
  request.getRemoteAddr() 获取访问者ip
  request.getMethod() 获取请求方式
  request.getContextPath() 获取虚拟路径

  * 获取请求参数
  request.getParameter("表单中name属性的值");
  request.getParameterValues(); 获取复选框的内容

  request.getParameterMap() 获取键值对的形式

* request获取中文乱码的问题
  * post
  * 设置request缓冲区的编码
  request.setCharacterEncoding("UTF-8");

  * get
  * 通过String的构造方式
  username = new String(username.getBytes("ISO-8859-1"),"UTF-8");

* request域对象
  * ServletContext域对象:作用空间为整个WEB应用。
  * request域:作用空间为一次request请求。

* 重定向和转发区别
  * 重定向中浏览器发送两次请求,收到两次响应,转发只有一次请求和一次响应。
  * 重定向地址栏发生了变化(指向重定向后的地址),转发地址栏不变(为原始访问地址)。
  * 重定向不能使用request传值(因为实际上发送了2次request请求),转发可以(只有一次request请求)。
  * 重定向可以定向到任何资源(包括网络上的任何资源)。转发只能是当前web应用内部资源。

request对象和response对象的作用和相关方法的更多相关文章

  1. django HTTP请求(Request)和回应(Response)对象

    Django使用request和response对象在系统间传递状态.—(阿伦)当一个页面被请示时,Django创建一个包含请求元数据的 HttpRequest 对象. 然后Django调入合适的视图 ...

  2. request对象和response对象,什么时候用,具体用哪一个,没有感觉

    request对象和response对象,什么时候用,具体用哪一个,没有感觉

  3. JAVA-JSP内置对象之response对象

    相关资料:<21天学通Java Web开发> response对象1.response对象用来给客户端传送输出信息. 方法                                 ...

  4. request 对象和 response 对象

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 HttpServletResponse HttpServletR ...

  5. request对象和response对象

    Request 和 Response 对象起到了服务器与客户机之间的信息传递作用.Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏 ...

  6. django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统

    Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...

  7. Webform 内置对象(Response对象、Request对象,QueryString)

    Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); Response.Re ...

  8. python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)

    12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...

  9. Request对象和Response对象 JsonResponse对象 和 Django shortcut functions 和QueryDict对象

    request request属性 属性: django将请求报文中的请求行.头部信息.内容主体封装成 HttpRequest 类中的属性. 除了特殊说明的之外,其他均为只读的. ''' 0.Http ...

随机推荐

  1. Day6 - M - 动态逆序对 HYSBZ - 3295

    对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删 除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数 I ...

  2. Vulkan SDK Demo 之一 熟悉

    DiligentEngine的API是D3d11和D3D12风格的,vulkan也被封装成了这种风格的API. 在了解Diligent Engine是如何对vulkan进行封装之前,我准备先学习下Vu ...

  3. 012.CI4框架CodeIgniter, 加载并调用自己的Libraries库

    01. 在Libraries目录创建一个Mylib文件,内容是一个简单的类 <?php namespace App\Controllers; class Home extends BaseCon ...

  4. 格雷码(Grey Code)生成规则

    (1) Grey码在FPGA实际应用中是实用的码,在8421BCD码累加计数器中,如果寄存器需要发生多位(两位或者以上)的跳变,会出现中间态,这样作为组合逻辑的输入是不稳妥的. 下面看两个中间态的例子 ...

  5. Java 用户输入

    章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...

  6. Live555研究之一 源代码编译

    Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编码格式的音视频数据的流化 ...

  7. border-radius 在 浏览器开发者工具移动端里是有效的,在真机是无效的。

    border-radius 在 浏览器开发者工具移动端里是有效的,在真机是无效的,怎么解决? 答案是 border-radius:20px !important 加上!important 就好了.

  8. Spark RDD 宽窄依赖

    RDD 宽窄依赖 RDD之间有一系列的依赖关系, 可分为窄依赖和宽依赖 窄依赖 从 RDD 的 parition 角度来看 父 RRD 的 parition 和 子 RDD 的 parition 之间 ...

  9. spring源码 RootBeanDefinition类的根接口AttributeAccessor

    /** * Interface defining a generic contract for attaching and accessing metadata * to/from arbitrary ...

  10. mysql安装--window版

    一.下载 二.解压 三.配置 四.环境变量 五.安装MySQL服务 六.启动MySQL服务 七.停止MySQL 一.下载 第一步:打开网址,https://www.mysql.com,点击downlo ...