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

相关文章

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

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

JavaEE7 Servlet 3.1(JSR 340)规范中文版

http://www.iteye.com/news/27727-jinnianshilongnian     Jave EE 7中的部分规范已正式获得批准通过,其中包括JSR340 Java Servlet 3.1规范,去年翻译了该规范,在此分享出来,希望对某些朋友有所帮助,不足之处请指正。   点击直接下载    在线版目录   Servlet3.1规范翻译

请解释Java Web应用中的前后端分离是什么?它有哪些好处?什么是Java Web中的Servlet过滤器?它有什么作用?

请解释Java Web应用中的前后端分离是什么?它有哪些好处? Java Web应用中的前后端分离 在Java Web应用中,前后端分离是一种开发模式,它将传统Web开发中紧密耦合的前端(用户界面)和后端(服务器端逻辑)代码进行分离,使得它们能够独立开发、测试、部署和维护。在这种模式下,前端通常通过HTTP请求与后端进行数据交换,后端则负责业务逻辑处理、数据库交互以及向前端提供RESTful