【问题标题】:what is the difference between servlet container and spring container? [closed]servlet容器和spring容器有什么区别? [关闭]
【发布时间】:2015-03-18 09:31:46
【问题描述】:

servlet容器和spring容器的作用和职责是什么?请有人澄清我的疑问。

【问题讨论】:

    标签: java spring servlets


    【解决方案1】:

    如果它们的名称相似,它们也是非常不同的概念。

    Servlet Container或Web Container(如Tomcat)是Java Servlet、JSP等各种Java EE规范的实现。简单来说,它是一个Java环境web应用程序可以生存。 Web 服务器 + Java 支持。

    另一方面,Spring Container 是 Spring Framework 的核心和引擎。它是一个 IoC Container 处理 Spring 应用程序生命周期创建新 bean 和注入依赖项。

    因为 Spring 应用程序可以是 Web 应用程序,所以 Spring Container 可以“存在”在 Web Container 中。

    更多信息:

    【讨论】:

    • 惊人的解释谢谢@davioooh
    【解决方案2】:

    Spring 容器负责创建对象、将它们连接在一起、配置它们,并管理它们从创建到销毁的完整生命周期。 Spring 容器使用依赖注入 (DI) 来管理组成应用程序的组件。这些对象称为 Spring Bean。

    虽然 Servlet 容器基本上是 Web 服务器或应用程序服务器,但它负责创建和维护 servlet 的生命周期,例如 init、service、destroy。除了维护 servlet 的生命周期之外,它还具有其他功能。

    【讨论】:

    • 如果我们创建一个简单的spring web应用程序我们可以找到spring容器(即ApplicationContext/BeanFactory)但是在我们的应用程序代码中找不到servlet容器。请说明servlet容器和spring之间是否有任何通信客户端发送请求时的容器?
    • 啊,没有 ApplicationContext 是 Spring 中的一个接口.. 类似的是 ServletContext 的 servlet.. 基本上容器意味着一种持有对象的持有者......
    • Almas shaikh:在 Spring In Action 书中 - 没有单一的 Spring 容器。 Spring 附带了几个容器实现,可以分为两种不同的类型。 Bean 工厂(由 org.springframework.beans.factory.BeanFactory 接口定义)和应用程序上下文(由 org.springframework.context.ApplicationContext 接口定义).
    猜你喜欢
    • 2019-07-30
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 2010-12-26
    • 2015-04-12
    • 1970-01-01
    相关资源
    最近更新 更多