什么是容器?
servlet没main()方法。它们受控于另一个java应用,这个java应用称为容器(Container)
Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向servlet请求时,服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器。要由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法。
客户-->
请求--->Web服务器应用--->web容器应用--->servlet-------->web服务器主机
客户<--
响应<---Web服务器应用<---web容器应用<---servlet<--------web服务器主机
容器提供:
通信支持:建立serverSocket、监听某个端口、创建流等;
生命周期管理:控制servlet生死,负责加载类、实例化和初始化servlet、调用servlet方法及使servlet实例能够被垃圾回收;
所线程支持:容器会自动为接收的每个servlet请求创建一个新的java线程,运行完响应HTTP服务方法线程就结束。
生命方式实现安全:可以使用xml部署描述文件来配置(或修改)安全性,而不用硬编码写到servlet类代码中。
JSP支持。
容器处理servlet
客户---->http请求---->容器----->servlet
容器---> 创建 请求(HttpServletRequest)/响应(HttpServletResponse) 对象
容器--->请求--->响应--->线程(容器根据URL找到正确的servlet,为这个请求创建或分配线程,并把请求和响应对象传递给这个servlet线程)
容器----->servlet service()方法 service根据类型调用doGet()或doPost()方法。
doGet()生成动态页面,并把这个页面“塞到”响应对象的一个引用里。
线程结束,容器把响应对象转为HTTP响应,把它发回给客户,然后删除请求和响应对象。
容器如何把servlet映射到URL
http://xiao-yi.iteye.com/blog/272748
http://glemir.xplore.cn/archives/155
摘自HeadFirst Servlet&JSP
分享到:
相关推荐
在Java编程语言中,容器(Container)是一种用来存储和管理数据结构的重要概念,它提供了组织、存储和操作数据的方式。容器通常指的是集合框架中的各种类,如List、Set、Map等,它们允许开发者以不同的方式存储和...
Java WEB 篇八 tomcat 容器是如何创建 servlet 类实例?用到了什么原 理?
4.1 什么是容器 ? ? 4.2 容器能运行什么 ? ? 4.3 启动第一个容器 ? ? 4.4 容器运行的参数含义 ? ? 4.5 如何运行一个自启动的容器 ? ? 4.6 容器暴露 ? ? 4.7 容器的整个生命周期 5.Docker数据管理 ? ? 5.1 数据持久...
什么是容器? 2.2。 为什么需要使用容器2.3。 如何使用生物容器2.4。 生物容器架构2.4.1如何申请集装箱2.4.2使用容器开发容器3.1。 我需要开发什么? 3.2。 如何创建一个容器? 支持4.1参与进来 1.基本要点 1.1。 ...
【标题】:“自己动手打造ICO容器” 在编程领域,ICO(Inversion of Control,控制反转)是一种设计模式,它在对象之间定义了依赖关系,使得应用程序的组件可以在不知道彼此细节的情况下协同工作。ICO容器则是实现...
什么是容器? ------------- 容器是一种轻量级的虚拟化技术,它可以在宿主机上运行多个独立的进程,每个进程都有其自己的命名空间、文件系统和路由表。容器可以限制资源的使用,例如 CPU 和内存,而不需要像虚拟机...
本书根据Docker 1.10版和Kubernetes 1.2版对第1版进行了全面更新,从实践者的角度出发,以Docker和Kubernetes为重点,沿着“基本用法介绍”到“核心原理解读”到“高级实践技巧”的思路,一本书讲透当前主流的容器和...
docker cp 本地文件路径 ID全称:容器路径 下面来举个例子: 我要把本地电脑的mysql-connector-java-5.1.46.jar上传到Linux下Docker里面的logstash容器下的/usr/share/logstash/lib目录。 1.首先使用ssh工具上传jar...
首先,我们来理解一下什么是VCAD。VCAD是专为压力容器设计定制的一款CAD插件,它集成了多种专业功能,旨在简化复杂的容器设计流程,提高设计效率。通过集成在主流CAD软件中,如AutoCAD或SolidWorks,VCAD能够帮助...
云产品-云计算基础-容器服务CCS 云计算基础中的容器服务CCS是基于Mesos、Marathon、CoreDNS的核心组件,提供了集群的细粒度资源管控、容器编排功能、虚拟私有云VPC、负载均衡器CLB、存储CBS、组件仓库CCD和镜像服务...
第二部分深入解读基于Docker的主流容器云技术,讲解了构建自己的容器云的方法,深入分析了3类Docker容器云技术的实现方法的设计思路,包括专注Docker容器编排与部署的容器云(Compose、Machine、Swarm、Fleet)、...
容器虚拟化技术是什么?容器虚拟化主要基于操作系统虚拟化,Docker 架构是:物理机 -> 宿主机操作系统 -> Docker 引擎 -> 应用程序。容器虚拟化技术可以为一组进程分配独立的运行环境,限制他们能使用的资源,并防止...
首先,我们要理解什么是同步容器。Java 集合框架中的非线程安全容器,如 ArrayList 和 HashMap,在多线程环境下可能导致数据不一致。为了解决这个问题,Java 提供了同步容器,如 Vector 和 Hashtable,它们使用 ...
第二部分深入解读基于Docker的主流容器云技术,讲解了构建自己的容器云的方法,深入分析了3类Docker容器云技术的实现方法的设计思路,包括专注Docker容器编排与部署的容器云(Compose、Machine、Swarm、Fleet)、...
23 容器数据类型特性总结.mp4
本文主要简单介绍 docker 容器与前置进程的关系,以及如何编写 Dockerfile/docker-compose.yml 优雅的让容器可以常驻运行。 docker 容器的生命周期是同容器中的前置进程相关在一起的,这也是我们平时可能会遇到一些...
Docker容器与容器云(第2版)根据Docker 1.10版和Kubernetes 1.2版对第1版进行了全面更新,从实践者的角度出发,以Docker和Kubernetes为重点,沿着“基本用法介绍”到“核心原理解读”到“高级实践技巧”的思路,一本...