Предполагая, что у вас есть только одна служба Tomcat с одним соединителем, вы можете получить к ней доступ в сервлете следующим образом:
int maxPostSize = ServerFactory.getServer().findServices()[0].findConnectors()[0].getMaxPostSize();
ServerFactory
кстати org.apache.catlina.ServerFactory
.
Примечание: это тесно связывает ваш код с сервлет-контейнером Tomcat, и ваше веб-приложение не может быть повторно использовано на других сервлет-контейнерах, возможно, даже не в разных версиях.Попробуйте настроить собственный контекстный параметр в web.xml
с тем же значением.
<context-param>
<param-name>maxPostSize</param-name>
<param-value>2097152</param-value>
</context-param>
Затем вы можете получить к нему доступ в сервлете с помощью
int maxPostSize = Integer.valueOf(getServletContext().getInitParameter("maxPostSize"));
или в JSP с помощью
${initParam.maxPostSize}