2010-10-08 7 views

Antwort

5

Unter der Annahme, dass Sie nur einen Tomcat-Dienst mit einem Stecker haben, dann können Sie es in Servlets zugreifen:

int maxPostSize = ServerFactory.getServer().findServices()[0].findConnectors()[0].getMaxPostSize(); 

ServerFactory ist übrigens org.apache.catlina.ServerFactory.

Hinweis: Dadurch wird Ihr Code eng mit dem Tomcat-Servletcontainer verbunden und Ihre Webanwendung ist möglicherweise nicht auf anderen Servletcontainern wiederverwendbar, möglicherweise sogar nicht in verschiedenen Versionen. Erwägen Sie, Ihren eigenen Kontextparameter in web.xml mit demselben Wert zu konfigurieren.

<context-param> 
    <param-name>maxPostSize</param-name> 
    <param-value>2097152</param-value> 
</context-param> 

Dann können Sie es in Servlets Zugriff von

int maxPostSize = Integer.valueOf(getServletContext().getInitParameter("maxPostSize")); 

oder in JSP von

${initParam.maxPostSize} 
+1

Leider in Tomcat 7 ist die ServerFactory weg. –

3

In tomcat7 die ServerFactory Klasse verschwunden ist. Offenbar sollte man in der Lage sein, den Server Referenz

org.apache.tomee.loader.TomcatHelper.getServer() 

... die org.apache.openejb befindet sich mit der erhalten: tomee-Lader.

+0

Danke, das ist genau das, was ich gesucht habe: StandardServer tomcatServer = TomcatHelper.getServer(); \t \t Dienst [] services = tomcatServer.findServices(); –