spring - 以编程方式获取嵌入式 Servlet 容器信息

标签 spring spring-mvc spring-boot

我有一个 Spring Boot 应用程序。我想在管理控制台页面中显示当前的 Servlet 容器名称和版本。

目前我的应用程序使用 Tomcat,但如果我要更改为 Jetty 或其他嵌入式 servlet 容器,我希望自动显示相同的信息。

此信息无法通过EnvironmentActuator端点获得(至少看起来如此)。

如何以编程方式获取嵌入的 servlet 容器名称和版本?

最佳答案

您可以从ServletContext获取您要查找的信息.

您可以使用以下方式 Autowiring 它:

@Autowired ServletContext context;

然后访问所需的信息:

context.getServerInfo()

在带有嵌入式 Tomcat 的 Spring Boot 应用程序中,我获得以下字符串:

Apache Tomcat/8.5.27

关于spring - 以编程方式获取嵌入式 Servlet 容器信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311279/

相关文章:

spring - 如何在main函数中获取ApplicationContext - Spring boot

java - Junit 测试 @InjectMocks 类中的异常

java - 无法在开放类次环境中启动 hazelcast。服务器套接字绑定(bind)失败。没有权限

java - Spring 启动 : How do get tomcat port at runtime?

javascript - 使用onclick事件更改对象html标签的数据

java - Spring Security 和 Oauth2 的误解

java - 为什么我的 Bean 在 Junit 测试中不符合 Autowire Candidate 资格?

java - Birt 不生成 PDF 和 XLS 报告

java - Spring FileInputStream 缓冲区偶尔包含不正确的字符

java - 限制 Spring Controller 同时处理少数请求