• 请求和响应


    servlet与容器

    1. 用户点击一个链接,链接的URL指向一个servlet.
    2. 容器看出这个请求指向一个一个servlet,容器创建两个对象,HttpServletRequest和HttpServletResponse.
    3. 容器根据请求中的URL查找正确的servlet,为这个请求创建或分配一个线程,并调用servlet的service()方法(传参为HttpServletRequest和HttpServletResponse).
    4. service()方法根据请求方法(get|post|etc)确定调用那个方法.
    5. servlet使用响应对象将响应写至客户(java.io.PrintWriter out = response.getWriter()).响应通过容器传回.
    6. service()方法结束,线程撤销|返回线程池.(请求和响应对象引用已经出了作用域,GC回收).

    servlet生命周期:

    1. 容器加载servlet类
    2. 初始化servlet(执行构造函数).
    3. 执行init(),该方法仅调用一次.(该方法在servlet实例创建后,servlet为客户提供服务之前调用.可以覆盖)
    4. service(),处理客户请求,每个请求都在一个单独的线程中运行.(不太可能覆盖,业务逻辑主要在doPost()等中执行)
    5. destroy(),容器调用该方法,仅调用一次.

    get()和post():service()通过方法决定调用doGet()|doPost()

    1. get:处理简单请求,参数跟随在URL路径之后.www.example.com/?param1='value1'&param2='value2'在http规范中是幂等的.
    2. post:接受和处理表单请求,传递的数据在请求体中.在http规范中不是幂等的.

    request:HttpServletRequest API

    response:

        响应是返回给客户的浏览器,浏览器解析和呈现的.可以为PrintWriter(字符)或

  • 相关阅读:
    数据结构(二)之链表
    数据结构(一)之数组,栈,队列
    记第一次学习Mybatis
    多线程基本实现方法(一)
    TCP三次握手及四次四次释放协议解析
    《绝不划水队》第一次作业:项目选题
    第一次博客作业
    vim cheatsheet
    js cheatsheet
    js re cheatsheet
  • 原文地址:https://www.cnblogs.com/slowalker-lee/p/7889602.html
Copyright © 2020-2023  润新知