• 服务器和浏览器交互过程


    1. 分析当前请求是那台虚拟主机

    查看请求头中的Host请求头来分析

    Host: localhost

    如果没有Host访问缺省虚拟主机

    1. 分析当前请求是哪一个web应用

    从请求行中的请求资源部分中得出当前访问的是哪一个web资源

    GET /game/servlet/MyFirstServlet HTTP/1.1

    1. 分析当前请求访问的是这个web应用的哪个资源

    GET /game/servlet/MyFirstServlet HTTP/1.1

    1. 查看web.xml的文件,查看有没有对应的虚拟路径,如果有则用这个虚拟路径对应的资源(MyFirstServlet)做响应

      <servlet>

        <servlet-name>MyFirstServlet</servlet-name>

        <servlet-class>MyFirstServlet</servlet-class>

      </servlet>

      <servlet-mapping>

        <servlet-name>MyFirstServlet</servlet-name>

        <url-pattern>/servlet/MyFirstServlet</url-pattern>

    </servlet-mapping>

    5.    Servlet的生命周期      

    Servlet在第一次被访问到的时候,服务器创建出servlet对象,立即调用init方法做初始化操作,创建出这个对象后会一直驻留在内存中为后续对这个servlet的访问服务器,每次对这个servlet的访问都会导致servlet中的service方法执行。当web应用移除出容器或服务器关闭,随着web应用的销毁,servlet会被销毁,在销毁之前会调用servlet的destroy方法做一些善后的工作

          

    void

    service(ServletRequest req, ServletResponse res)

    ServletRequest 包含请求头信息,和实体内容

    ServletResponse  传给浏览器

    1. 服务器从response对象中获取之前写入的数据,组织成http响应消息打给浏览器

    HTTP/1.1 200 OK

    Server: Apache-Coyote/1.1

    Content-Type: text/html

    Content-Length: 27

    Date: Wed, 18 Feb 2015 14:20:06 GMT

     

    Now time:2015-2-18 22:20:06

    6.    静态资源是由缺省servlet进行处理

  • 相关阅读:
    GoogleTest 之路2-Googletest 入门(Primer)
    GoogleTest 之路1-Generic Build Instructions编译指导总方案
    Tinyhttpd 知识点
    栈初始化
    ARM S3C2440 时钟初始化流程
    GNU 关闭 MMU 和 Icache 和 Dcache
    bootloader 关闭看门狗
    bootloader svc 模式
    Uboot S3C2440 BL1 的流程
    GNU 汇编 协处理器指令
  • 原文地址:https://www.cnblogs.com/superPerfect/p/4295965.html
Copyright © 2020-2023  润新知