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

相关文章

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

SpringIOC容器Bean初始化和销毁回调方式

《SpringIOC容器Bean初始化和销毁回调方式》:本文主要介绍SpringIOC容器Bean初始化和销毁回调方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录前言1.@Bean指定初始化和销毁方法2.实现接口3.使用jsR250总结前言Spring Bea

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

如何将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