2010-10-08 16 views
7

içinde programlı olarak maxPostSize olsun Tomcat 6 kullanıyorum ve bir JSP içinden program aracılığıyla bir max. JSP dosyasından (server.xml içinde HTTP Bağlayıcısı'nda tanımlanmış) almak mümkün olmasını istiyorum. maksimum dosya yükleme boyutu.Tomcat HTTP Bağlayıcısı'nın bir JSP

Bunu elde etmenin bir yolu var mı?

cevap

5

sonra tarafından Servlet erişebilirsiniz, bir konektör ile tek Tomcat hizmetini ettik varsayarsak:

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

ServerFactory arada org.apache.catlina.ServerFactory gereğidir.

Not: Bu, kodunuzu Tomcat sunucu uygulamasına sıkı sıkıya bağlar ve web sunucunuz, başka sunucularda, hatta muhtemelen farklı sürümlerde bile yeniden kullanılamaz. Kendi içerik parametrenizi web.xml ile aynı değerde yapılandırmayı düşünün.

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

Sonra ServerFactory sınıfı gitmiş Tomcat7 yılında

${initParam.maxPostSize} 
+1

Ne yazık ki Tomcat 7'de ServerFactory gitti. –

3

tarafından

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

veya JSP tarafından Servlet erişebilirsiniz. tomee-yükleyici: Anlaşılan bir org.apache.openejb bulunur

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

kullanarak Sunucu referansını ... elde etmek mümkün olmalıdır.

+0

Teşekkür ederim, bu tam olarak aradığım şey: StandardServer tomcatServer = TomcatHelper.getServer(); \t \t Hizmet [] services = tomcatServer.findServices(); –