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

标签 java jsp tomcat server.xml

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

有办法得到这个吗?

最佳答案

假设您只有一个 Tomcat 服务和一个连接器,那么您可以通过以下方式在 Servlet 中访问它:

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

ServerFactory 顺便说一下org.apache.catlina.ServerFactory .

注意:这会将您的代码与 Tomcat servletcontainer 紧密耦合,并且您的 webapp 可能无法在其他 servletcontainer 上重用,甚至可能无法在不同的版本上重用。考虑在 web.xml 中使用相同的值配置您自己的上下文参数。

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

然后就可以在Servlet中访问了

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

或在 JSP 中

${initParam.maxPostSize}

关于java - 以编程方式在 JSP 中获取 Tomcat HTTP 连接器的 maxPostSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3894413/

相关文章:

javascript - 如何使用 JavaScript 将 child.jsp 转换为模式或覆盖?

javascript - JSP 中 scriptlet 的唯一正确使用

hibernate - 在 tomcat 中创建名称为 'dataSource' 的 bean 时出错

java - 网页长时间打开抛出空指针异常

java - Jenkins 不重构文件夹名称,SonarQue 给出响应

java - 严重: Context [/AnilProject] startup failed due to previous errors whil deploying war on tomcat

java - 如何从数据库中逐个获取条目/值到jsp页面?

java - 如何让 Tomcat 管理器/状态与我的本地主机名一起使用?

java - spring jms 全局 ErrorHandler 不工作

Java、maven、hibernate - 映射问题