Request

1.request对象和response对象的原理:

  1.request和response对象是由服务器创建的,我们来使用它们

  2.request对象是来获取请求消息,response对象是来设置响应消息。

2.request对象继承体系结构:

  

3.request功能:

  1.获取请求消息数据:

   1.获取请求行消息

    1.获取请求方式:Get

      String getMethod()

    2.获取虚拟目录:

      String getContextPath()

    3.获取servlet路径:

      String getServletPath()

    4.获取get方式请求参数

      String getQueryString()

    5.获取URI:

      String getRequestURI()

      StringBuffer getRequestURL()

          *URL:统一资源定位符

          *URI:统一资源标识符

    6.获取协议及版本:

      String getProtocol()

    7.获取客户机的ip地址:

      String getRemoteAddr()

   2.获取请求头数据:

    方法:

      *String getHeader():通过请求头的名称获取请求头的值

   3.获取请求体的数据:

    *请求体:只有post请求方式,才有请求体,在请求体中封装了post请求的请求参数

    *步骤:

      1.获取流对象

          1.BufferedReader getReader():获取字符输入流,只能操作字符数据

          2.ServletInputStream getInputStream():获取字节输入流,可以操作所有类型数据

      2.再从流对象中拿数据

  2.其他功能:

    1.获取请求参数通用方式:

      1.getParameter(String name):根据参数名称获取参数值 

      2.String[ ] getParameterValues(String name):根据参数名称获取参数值的数组,多用于复选框

      3.Enumeration<String> getParameterNames():获取所有请求的参数名称

      4.Map <String,String[ ]> getParameterMap():获取所有参数的map集合

        *中文乱码问题:

            *get方式:tomcat8 已经将get方式乱码解决

            *post方式:会乱码

                *解决:reuquest.setcharacterEncoding(”utf-8“);

    2.请求转发:一种在服务器内部的资源跳转方式

        1.步骤:

          1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher (String path)

          2.使用RequestiDispatcher对象进行转发:forward();

        2.特点:

          1.浏览器地址栏不发生变化

          2.只能访问当前服务器内部资源

          3.转发是一次请求

    3.共享数据

      *域对象:一个有范围的对象,可以在范围内共享数据

      *request:代表一次请求的范围,一般用于请求转发的多个资源中共享数据

      *方法:

        1.setAttribute(String ,Object);存储数据

        2.getAttribute(String):获取值

        3.removeAttribute(String):移除键值对

    4.获取ServletContext

      getServletContext();

*BeanUtils工具类,简化数据封装

  *用于封装JavaBean的

1.JavaBean:标准的Java类

    1.要求

      1.类必须被public修饰

      2.必须提供空参的构造器

      3.成员变量必须使用private修饰

      4.提供公共的setter和getter方法

    2.功能:封装数据

  2.概念:

    成员变量:

    属性:setter和getter方法截取后的产物

      例如:getUsername()--> Username --> username

  3.方法:

    1.setProperty:设置JavaBean中成员变量的值

    2.getProperty:获取JavaBean中成员变量的值

    3.populate(Object obj ,Map map):将map集合的键值对信息,封装到对应的JavaBean对象中

posted @ 2023-01-07 18:04  会秃头的小白  阅读(66)  评论(0)    收藏  举报