zoukankan      html  css  js  c++  java
  • request对象和response对象的作用和相关方法

    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应用内部资源。

  • 相关阅读:
    sftp服务器搭建以及挂载新硬盘到home目录下
    做题小技巧
    18年2月份股市大跌感想
    使用docker配置laravel5.5环境
    git tag、gitignore和git撤销提交
    Tmux 学习
    rman异常案例二: 归档日志被人移动到其他目录,导致数据库恢复异常(续)
    tasklet与workqueue的区别和不同应用环境总结
    [置顶] Jquery网页打印
    svn服务器搭建和使用:Custom action GenerateSSLKey failed: Command terminated with non-zero exit code
  • 原文地址:https://www.cnblogs.com/yanspecial/p/5408958.html
Copyright © 2011-2022 走看看