【问题标题】:mod_proxy_ajp AJP_ attributes are present but not shown from request.getAttributeNames()mod_proxy_ajp AJP_ 属性存在但未从 request.getAttributeNames() 中显示
【发布时间】:2021-03-26 08:30:02
【问题描述】:

从 apache mod_proxy_ajp 发送到 tomcat ajp 连接器的 AJP_ 属性可以使用 java 代码检索,例如

String attributeValue = request.getAttribute(attributeName);

这样做,我发现这些转发的属性名称没有列在我们使用 request.getAttributeNames() 获得的枚举中。最后一个方法只返回这 4 个,缺少 AJP_* 属性:

javax.servlet.forward.request_uri
javax.servlet.forward.context_path
javax.servlet.forward.servlet_path
javax.servlet.forward.path_info
javax.servlet.forward.mapping

例如,我可以使用 request.getAttribute("groupID") 在我的 java 中检索“groupID”,但 request.getAttributeNames() 没有列出“groupID”。为什么??

环境:Apache Tomcat/8.5.54 (Debian) Apache/2.4.25 (Debian)

伯纳德

【问题讨论】:

  • @ebourg 你能帮忙吗?

标签: java apache tomcat servlets ajp


【解决方案1】:

这是设计使然。这些属性是“隐藏的”,不会出现在来自ServletRequest.getAttrbuteNames 的返回值中。您必须知道属性的名称才能获取它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 2018-02-27
    • 2020-06-10
    • 2018-07-24
    • 1970-01-01
    相关资源
    最近更新 更多