【问题标题】:How to get cookies from a given path in JAVA?如何从 JAVA 中的给定路径获取 cookie?
【发布时间】:2013-08-03 12:02:46
【问题描述】:

我们如何从给定路径获取 cookie?当我们执行 request.getCookies() 时,默认情况下它从“\”中提取 cookie。但如果我想从给定路径获取它,假设“\bin\test”。这种情况下我们该怎么办?

提前致谢

【问题讨论】:

  • 第一个问题是你能得到请求头的东西吗?甚至“\bin\test”的 cookie 值也被发送到您的 jsp 文件中?

标签: jsp cookies aem


【解决方案1】:

您需要按路径滚动您自己的 cookie 过滤器

http://docs.oracle.com/javaee/1.4/api/javax/servlet/http/HttpServletRequest.html?is-external=true#getCookies()
http://docs.oracle.com/javaee/5/api/javax/servlet/http/Cookie.html
In a Java Servlet how can I change the value of an existing cookie?

List<Cookie> getCookiesFromPath(@Nonnull SlingHttpServletRequest request, String path) {
    Cookie[] allCookies = request.getCookies();

    if (path == null || path.isEmpty()) { // convert cookie array to cookie list
        return Arrays.asList(allCookies);
    }

    List<Cookie> cookieList = new ArrayList<Cookie>();
    for (Cookie c :  allCookies) {
        if (c.getPath().equals(path)) { // or equals()
            cookieList.add(c);
        }
    }
    return cookieList;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2023-03-31
    • 2017-10-19
    • 2015-12-11
    • 1970-01-01
    相关资源
    最近更新 更多