- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想遍历 ServletRequest
中的所有可用属性。但是不知何故,在这样做时,并没有显示所有可用的属性。看起来是这样,因为当请求枚举中未显示的特定属性时,该值会正确打印。
迭代属性和显示特定属性的代码
HttpServletRequest request = this.getHttpServletRequest();
Enumeration en = request.getAttributeNames();
while (en.hasMoreElements())
{
Object currentElem = en.nextElement();
System.out.println("currentElem.getClass(): " + currentElem.getClass());
System.out.println("currentElem.toString(): " + currentElem);
}
Object specificAttrValue = request.getAttribute("Shib-Identity-Provider");
System.out.println("\nspecific attr: " + specificAttrValue);
输出:
currentElem.getClass(): class java.lang.String
currentElem.toString(): corsFilter.FILTERED
currentElem.getClass(): class java.lang.String
currentElem.toString(): org.springframework.web.context.request.RequestContextListener.REQUEST_ATTRIBUTES
currentElem.getClass(): class java.lang.String
currentElem.toString(): __spring_security_scpf_applied
currentElem.getClass(): class java.lang.String
currentElem.toString(): __spring_security_session_mgmt_filter_applied
currentElem.getClass(): class java.lang.String
currentElem.toString(): org.springframework.security.web.FilterChainProxy.APPLIED
currentElem.getClass(): class java.lang.String
currentElem.toString(): __spring_security_filterSecurityInterceptor_filterAppliedspecific attr: https://idp.testshib.org/idp/shibboleth
为什么迭代不将 Shib-Identity-Provider 显示为可用属性?
如何遍历“隐藏”的实际可用属性?
注意:我想访问的属性由 Shibboleth 服务提供商设置。请求首先转到 Apache 服务器,然后到 Shibboleth,然后到 testshib.org 身份提供程序,返回到 Shibboleth,并根据内容通过一些属性(这些是我需要访问的属性)丰富请求,然后它被路由到 Tomcat servlet。
最佳答案
如果我看到这篇文章有同样的问题: Retrieving Shibboleth attributes from AJP connector request
看起来这个容器的 getAttributeNames() 由于某种原因没有很好地实现并且没有返回所有的属性
此链接也可能有帮助:
https://stackoverflow.com/a/3533183/2575906对于getAttributesNames实现问题
https://stackoverflow.com/a/17663394/2575906因为它也可能是 Shibboleth 上的服务器端错误配置
关于java - 遍历所有 ServletRequest 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30193117/
今天我想给大家提出的问题是这样的: 请求到达 Controller (在 spring MVC 环境中),在该 Controller 中我想以某种方式拆分请求参数。我最初的方法是使用@ModelAtt
谁能解释一下为什么 ServletRequest.getParameterMap() 返回类型 Map ServletRequest.getParameter() 只返回类型 String 我不明白为
我正在使用 Filter和 doFilter -功能。我想知道正在请求哪个站点。一些函数给了我类似 /firstDirectoryInWebDirectory/lala.jsp 的东西将会是完美的。
我的环境 Jetty 8.1 public void service(ServletRequest request, ServletResponse response) throws ServletE
我有一个带有 Struts 1 操作的 java web 应用程序,其中包含以下代码: request.setAttribute("cat.sound", "meow"); 在我的 jsp 页面上,我
我正在尝试测试一个在 ServletRequest 上设置属性的 servlet。我使用 jbehave 与restTemplate 和apache httpClient 来向该servlet 发送请
我通过循环将转换为字符串值的整数分配给隐藏输入,其中 s1 是循环迭代器。 User Name Type Complain Status Date "value="
我正在尝试加密从我的 Web 应用程序发送到我的服务的 POST 正文请求。 加密是在过滤器中完成的。 我面临内容长度的问题,内容长度是在 JavaScript 中为 post 调用设置的,并且在加密
我想遍历 ServletRequest 中的所有可用属性。但是不知何故,在这样做时,并没有显示所有可用的属性。看起来是这样,因为当请求枚举中未显示的特定属性时,该值会正确打印。 迭代属性和显示特定属性
我需要在我的 Grails Controller 中更改 ServletRequest 对象的服务器名称。由于 serverName 是只读属性,我无法弄清楚如何执行此操作。 最佳答案 最正确的做法可
ServletRequest.getRemoteAddr() 的 Javadoc没有提及返回的 IP 地址的格式。这在实现过滤器时很烦人。我们可以指望什么?有没有可以依赖的官方规范?谢谢。 最佳答案
我有一个 ProxyServlet 来处理从我的应用程序发送到另一台服务器(使用 HTTP 基本身份验证)的请求,并且我想在 Servlet 触发实际请求之前手动添加 header ,以便用户无需输入
我从浏览器向网络服务器发出上传文件(大小很大)请求。 我在网上知道我可以使用 ServletRequest.getInputStream() 方法从输入流中读取它,然后逐行读取它以避免内存不足的问题。
我正在努力将现有应用程序从 Spring Boot 1.5 升级到 2.1。此应用程序作为 WAR 文件部署在现有 Tomcat 实例中。 我已经克服了大部分迁移障碍,但现在当 Thymeleaf 的
目前我正在准备 Java EE Web Component Developer 考试。 在考试学习指南和 Servlet API Java 文档中我都找到了那个方法 ServletRequest.ge
在 servlet 中遇到一些执行此操作的代码: while ((read = request.getInputStream().read(bytes)) != -1) buffer.writ
我正在进行 API 调用,该调用需要请求 IP 地址。我正在使用 ServletRequest.getRemoteAddr() 来获取请求的 IP。对于一位用户,getRemoteAddr() 返回的
我正在使用 ServletRequestListener 附加到新请求,获取 ServletRequest 对象并从中提取 cookie。 我注意到只有 HTTPServletRequest 有 co
我正在使用 Quartz 为 Web 应用程序安排后台任务。其中一些任务只是触发对同一 Web 应用程序的请求。 我想避免依赖于任何类型的网络设置(例如,如果从数据中心内发出,使用我自己的域名的请求可
我需要通过过滤器访问 session 变量。我什至不知道这是否可能。实际上,问题是javax.Servlet.Filter实现的doFilter方法类型是ServletRequest,而HttpSer
我是一名优秀的程序员,十分优秀!