2010-10-08 3 views

Répondre

5

En supposant que vous avez un seul service Tomcat avec un connecteur, vous pouvez y accéder à Servlet par:

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

ServerFactory est par la voie org.apache.catlina.ServerFactory. Remarque: ceci couple étroitement votre code au conteneur de servlet Tomcat et votre webapp peut ne pas être réutilisable sur d'autres conteneurs de servlets, peut-être même des versions différentes. Envisagez de configurer votre propre paramètre de contexte dans web.xml avec la même valeur.

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

Ensuite, vous pouvez y accéder à Servlet par

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

ou JSP par

${initParam.maxPostSize} 
+1

Malheureusement dans Tomcat 7, la ServerFactory a disparu. –

3

Dans tomcat7 la classe ServerFactory est parti. Apparemment, on devrait être en mesure d'obtenir la référence du serveur en utilisant

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

... qui réside dans org.apache.openejb: tomee-chargeur.

+0

Merci, c'est exactement ce que je cherchais: StandardServer tomcatServer = TomcatHelper.getServer(); \t \t Service [] services = tomcatServeur.findServices(); –

Questions connexes