Servlet和HTTP

纵饮孤独 提交于 2020-04-07 14:16:15

Servlet和HTTP

Servlet的体系结构

Servlet---->GenericServlet---->HttpServlet

  1. GenericServlet:将Servlet接口中的其他方法默认空实现,只将service方法实现,通过extends个可以继承该类并复写service方法
  2. HttpServlet:继承HttpServlet方法,复写doGet和doPost方法,实质是对http协议的封装,简化操作;推荐使用这种方法

Servlet的相关配置

urlPattern:Servlet的访问路径

  1. 一个Servlet可以定义多个访问路径
  2. 路径的定义规则:
    1. /path
    2. /path1/path2
    3. *.path

HTTP

  1. 概念:Hyper Text Transfer Protocol 超文本传输协议

  2. 特点

    1. 基于TCP/IP的高级协议
    2. 基于请求--响应模型,请求和响应一一对应
    3. 无状态协议:每次请求之间相互独立
  3. 请求消息数据格式 request

    1. 请求行

      请求方式(常用两种):

      1. GET:请求参数在url后,url长度有限制,不安全
      2. POST:请求参数在请求体中,url长度没有限制

      请求方式 url 请求协议/版本

      get /page.html HTTP/1.1

    2. 请求头(键值对)

      Host:请求地址

      User-Agent:浏览器版本

      Accept:接受文件类型

      Referer:请求来源;用于防盗链和数据统计

      Connection:连接能否复用

      请求头名称:请求头值

    3. 请求空行

      分割行

    4. 请求体

      正文;传递请求参数

  4. request对象

    1. request和response对象的原理

      1. 流程:服务器根据请求创建对象,tomcat将request和response对象传递到service方法;在service方法中处理业务逻辑并返回;服务器从response中拿到响应消息返回给浏览器
      2. request和response对象由服务器创建
      3. request对象用来获取请求消息
      4. response对象用来设置响应消息
    2. request继承体系

      ServletRequest-->HttpServletRequest-->org.apache.catalina.connector.RequestFacade

    3. request功能

      1. 获取请求消息数据
      2. 其他功能
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!