以编程方式在 JSP 中获取 Tomcat8 HTTP 连接器的 maxPostSize

Programmatically get Tomcat8 HTTP Connector's maxPostSize in a JSP

我正在使用 Tomcat 8 并希望能够以编程方式从内部检索 maxPostSize(在 server.xml 的 HTTP 连接器中定义) a JSP 这样我就可以知道最大文件上传大小是多少。

有办法得到这个吗?

您可以使用 JMX 在本地访问连接器 MBean 并检索您需要的值。您需要知道 Tomcat 所在的端口 运行。

一个例子:

private static int getMaxPostSize(int httpPort) throws Exception {
    MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
    ObjectName objectName = new ObjectName("Catalina:type=Connector,port=" + httpPort);
    return (int) mbeanServer.getAttribute(objectName, "maxPostSize");
}