servlet容器以及ioc容器感性认识

2023-11-10 03:41

本文主要是介绍servlet容器以及ioc容器感性认识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

servlet容器是干什么的?

首先需要明白什么是servlet和web服务器。servlet即server applet的缩写,即服务小程序,也就是我们高大上的程序员天天写的业务逻辑,在servlet层面上开发即是写在service()方法中的doGet()或doPost()方法体内的代码逻辑。web服务器,就是监听固定端口接收网络请求的。这时候有一个问题就会出现了,服务器接收到的请求,怎么找到相应对的servlet程序去处理呢?对的,对的,相信大多数人已经明白了,这就是servlet容器的作用。

专业说法,servlet容器有以下几个作用:

1、通信支持,servlet容器封装了监听端口、创建流等复杂的操作,保证web服务和servlet的对话。

2、生命周期管理,容器加载servlet的类字节码文件、创建对象、调用servlet对象、销毁和回收servlet对象。

3、线程管理,容器会为每次对servlet的请求分配一个线程,并在使用结束后进行回收。

4、等等!

总的来说,就是servlet容器提供了我们servlet代码的管理和运行环境,这样我们就可以解放出来专心写业务代码啦!

一个请求流程

 

如上图一个http请求(http://zwh.mc.com/war/weapon/sword.jsp)发送到8080端口,由Connector监听到(上图步骤1),并将该信息发送给servlet容器(上图步骤2),经过解析域名找到对应的zwh.mc.com的主机host,然后解析请求中的路径信息/war/weapon去servletContext环境中去寻找对应的路径映射信息(上图步骤4),然后通过解析sword.jsp得到该环境下对应的的servlet文件(步骤5)。因此在通过servlet容器的管理和协调下,一个请求可以找到对应的servlet即sword.jsp。

联想到spring的ioc容器

spring的ioc容器想必大家都清楚,只要写好类字节码文件,并配置或注解,ioc容器会自动帮你管理该对象的创建、注入调用、销毁等操作,我们程序开发者只需将精力放在创建类信息,并在需要的地方注入该对象即可。看看,ioc的容器也是一个管理的功能,是不是和servlet容器的功能由异曲同工之妙呢。

没有写的特别学究,因为本文的主题是感性认识,如有异议,欢迎提出 。

 

这篇关于servlet容器以及ioc容器感性认识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380212

相关文章

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Spring IOC的三种实现方式详解

《SpringIOC的三种实现方式详解》:本文主要介绍SpringIOC的三种实现方式,在Spring框架中,IOC通过依赖注入来实现,而依赖注入主要有三种实现方式,构造器注入、Setter注入... 目录1. 构造器注入(Cons编程tructor Injection)2. Setter注入(Setter

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP