不理解 Java EE 中上下文的概念

Posted

技术标签:

【中文标题】不理解 Java EE 中上下文的概念【英文标题】:Don't understand the concept of a context in Java EE 【发布时间】:2013-11-25 06:47:39 【问题描述】:

我一直在学习 Spring、JSP 和 servlet。我不明白上下文根的概念。他们有很多。 SpringContext 根,servlet 上下文根,可能还有其他。

在 Spring MVC 应用程序中,有多少个上下文根以及如何识别它们?它们的真正含义是什么?

【问题讨论】:

您可能希望先从编写一个简单的 servlets 应用程序开始。你需要彻底了解这个世界——其余的一切都建立在此之上。 无法给出符合 SO 准则的简明答案。它确实需要有关 servlet 的教程,该教程可在其他地方获得。我第二个@ThorbjørnRavnAndersen:浏览 Oracle 的 Java 网站上的 servlets 教程。 令人惊讶的是,学习一个框架需要这么多的先决知识。我不明白为什么创建 servlets 应用程序对于我提出的问题很重要。我已经知道调度程序 servlet、前端控制器的作用。国际奥委会我完全理解。不能有人从概念上解释上下文根的含义。我肯定不明白。尝试解释 @ThorbjørnRavnAndersen 是对的。作为对您的 Spring MVC 相关问题的回答,我希望我的以下回答至少能带来一些启发(从“长答案”部分开始阅读):Spring: namespace vs contextConfigLocation init parameters in web.xml。正如其他人已经推荐的那样,首先阅读一些基本教程,比如流行的:Beginning & Intermediate Servlet & JSP Tutorials 如果您不了解上下文根,如何彻底理解调度程序 servlet? 【参考方案1】:

上下文通常是指用于与运行时环境交互的接口。这为您的程序提供了一组功能(如安全性、请求处理等),这些功能通常是在此类域中运行的所有应用程序所需的。这样的环境在java栈(servlet容器、ejb一等...)中一般命名为container

见What exactly is a Context in Java?

当为单个应用程序设置不同的上下文并在它们之间进行继承时,可以使用术语根。根层次结构(通常包含一些通用配置)是根上下文。

在此处查看 JB Nizet 的答案:Web-application context/ root application context and transaction manager setup

但是,在您的情况下,根一词具有特殊的含义,因为它用于 Web 容器。它主要是指 Web 应用程序路径的根,因为每个 Web 应用程序只有一个上下文,我们正在谈论给定 Web 应用程序的 context root

见http://tomcat.apache.org/tomcat-7.0-doc/config/context.html

【讨论】:

以上是关于不理解 Java EE 中上下文的概念的主要内容,如果未能解决你的问题,请参考以下文章

构造函数中上下文类的依赖注入

jsp中上下文对象是什么?

Android Studio中上下文菜单的使用

Python中上下文管理器和装饰器之间的区别

SwiftUI 应用程序中上下文保存的核心数据 Objective-C 异常

对于android里面的content不理解,查找说这个是上下文,但是我还是没有这个概念,啥是上下文求大神讲解