java - Servlet 信息未在 WebSphere 上获取完整版本

标签 java tomcat servlets websphere

我必须生成一份报告来检查部署代码的应用程序服务器的类型和版本。我使用的是 getServletContext().getServerInfo() 同样适用于 Tomcat 和 Web Logic,但如果是 Web Sphere-WAS,它的打印版本是 IBM WebSphere Application Server/8.5,而版本是8.5.5.9。我不知道为什么没有显示 .5。获取次要和主要版本的 API 也不会打印 .5 谁能帮忙。下面是一个快照,我们可以在登录页面上看到实际版本。 enter image description here

谢谢

最佳答案

这是 WAS 的预期行为。此信息(间接)记录在此 APAR here .

The WASProduct API getServletConfig().getServletContext ().getServerInfo() is updated to return the correct server information "IBM WebSphere Application Server/8.5".

此外,getMajorVersion/getMinorVersion 方法返回特定 servlet 容器支持的 Servlet API 版本。这可能不适合您的目的。

在 Java 应用程序之外,您可以通过运行 versionInfo.sh|versionInfo.bat 获取有关 WebSphere 安装的详细信息,该文件位于 PROFILE_ROOT/bin .在 Java 应用程序中,您可以使用 WebSphere 公开的 JMX 接口(interface)来访问此功能。参见 this link了解如何编写此类程序。

关于java - Servlet 信息未在 WebSphere 上获取完整版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38201689/

相关文章:

java - 将特定字符串替换为另一个字符串 - String#replaceAll()

java - 如何允许自定义有序链接列表类中存在重复项?

java - 在 Tomcat 上的 Web 应用程序中使用 Batik 时出现 "SAX2 driver class org.apache.crimson.parser.XMLReaderImpl not found"

java - 如何在java servlet的html中包含recaptcha?

java - 在java中提取ZIP

java - HttpUrlConnection 重定向到另一个 servlet 没有发生

没有年份的java本地日期格式

java - 在 Java 中通过 POST 发送 JSON 数据

tomcat - 在 NetBeans'(8.0) tomcat 中运行 Gradle webapp?

java - loadOnStartup 严重 : Servlet [dispatcher] in web application [/Producer] threw load() exception java. lang.NoSuchMethodError