• Java Web —— servlet 容器


    要想了解什么是 Servlet 容器,我们得先了解什么的 Web 服务器。

    一、Web 服务器

    Web 服务器是使用 HTTP 协议来传输数据的,其中最简单的一种情况就是用会在 client 中输入一个 URL ,然后通过网页进行浏览,在网页中可以看到你编写的界面,因此,服务器的工作就是发送网页到客户端。

    二、Servlet 容器

    单单使用 Web 服务器的话,我们会发现用户和客户端只能向服务器请求静态的网页。如果说用户想根据自己的输入来读取网页的话就不能单单需要 Web 服务器来发送网页,这个时候我们就需要用到 Servlet 容器了,Servlet 容器的基本思想是在服务器端使用 Java 来动态生成网页。因此, Servlet 容器是 Web 服务器和 servlet 进行交互的必不可少的组件。

    注意:Servlet 容器是用来装 Servlet 的。

    三、什么是 Servlet ?

    简单来说 Servlet 是在 java.servlet 包中的一个接口,这个接口声明了 servlet 生命周期中必不可少的三种方式 —— init()、service()、destroy()。每个servlet(无论是在SDK中定义的,或是自定义的)都必须实现这三个方法,而且由服务器在特定的时刻调用。我们来讲解一下
    servlet 生命周期中必不可少的三种方式:

    1> init() 方法主要传递了一个实现接口 javax.servlet.ServletConfig 的对象,一般在 Servlet 生命周起初始化阶段被调用,能够让 Servlet 从 Web application 中获得初始化参数。

    2> service() 方法主要是判断请求类型,并把它转发给相应的方法处理, servlet 每接受一个请求,就会调用一次 sercice() 方法,并且每个请求的处理都会在独立的线程中进行。

    3> destroy() 方法是当我们需要销毁 servlet 对象的时候,调用该方法来释放占用的资源。

    和所有的Java程序一样,servlet运行在JVM中。引入servlet容器是为了处理复杂的HTTP请求。Servlet容器负责servlet的创建、执行和销毁。

    四、JVM

    JVM 就是 Java 虚拟机,只要使用 servlet 就要允许JVM为处理每个请求分配独立的Java线程,这也是Servlet容器主要的优势之一。每一个servlet都是一个拥有能响应HTTP请求的特定元素的Java类。Servlet容器的主要作用是将请求转发给相应的servlet进行处理,并在JVM处理完请求后,将动态生成的结果返回至正确的地址。在大多数情况下,servlet容器运行在独立的JVM中,但如果容器需要多个JVM,也有相应的解决方案。

  • 相关阅读:
    bzoj 4446: [Scoi2015]小凸玩密室【树形dp】
    bzoj 4403: 序列统计【lucas+组合数学】
    bzoj 3745: [Coci2015]Norma【分治】
    bzoj 3232: 圈地游戏【分数规划+最小割】
    Codeforces 1000 (A~E)
    bzoj 4753: [Jsoi2016]最佳团体【01分数规划+二分+树上背包】
    bzoj 3872: [Poi2014]Ant colony【树形dp+二分】
    bzoj 2067: [Poi2004]SZN【贪心+二分+树形dp】
    洛谷 P1314 聪明的质监员【二分+前缀和】
    bzoj 4622: [NOI 2003] 智破连环阵【dfs+匈牙利算法】
  • 原文地址:https://www.cnblogs.com/jingxinbk/p/12534410.html
Copyright © 2020-2023  润新知