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

  • 相关阅读:
    【原】yield的最基本用法
    【转】C#.net拖拽实现获得文件路径
    【原】.Net之美学习笔记-第1章-1.1.1值类型
    【转】怎样将DataGridView中绑定的表的列名改成中文
    【转】WPF获取外部EXE图标最简单的方法
    【转】C# Excel 导入到 Access数据库表(winForm版)
    【转】SQL2008清除日志
    【原】监视程序运行时间
    【转】MSSQL获取指定表的列名信息,描述,数据类型,长度
    【原】接口
  • 原文地址:https://www.cnblogs.com/yanspecial/p/5408958.html
Copyright © 2020-2023  润新知