【问题标题】:Getting cookies without doGet/doPost [duplicate]在没有 doGet/doPost 的情况下获取 cookie [重复]
【发布时间】:2012-09-07 12:48:38
【问题描述】:

我正在使用 Java EE 制作一个动态 Web 项目。如果我理解正确的话,JSP 页面是在服务器中准备好的。所以,如果我想读取一个 cookie,我想我不需要向服务器发出 get/post 请求来读取它。

这是我的问题;如果没有正式的 doGet/doPost,我如何检索该用户拥有的所有 cookie?

【问题讨论】:

    标签: java jsp jakarta-ee servlets


    【解决方案1】:

    如果你使用 JSTL,你可以做类似的事情:

      <c:forEach items="${cookie}" var="currentCookie">
         ${currentCookie.name} - ${currentCookie.value}<br/>
      </c:forEach>
    

    forEach 之外使用${cookie.cookieName.value}

    【讨论】:

      【解决方案2】:

      为了完整起见,展示如何使用 request.getCookie() 获取 servlet 中的 cookie 列表:

      public class TestServlet extends HttpServlet {
      
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
          req.getCookies();
          for (Cookie c : req.getCookies())
          {
            System.err.println(c.getName() + ":" + c.getValue());
          }
        }
      }
      

      【讨论】:

        【解决方案3】:

        在 JSP 中使用以下内容:

        <%
        
        Cookies[] coockies = request.getCookies(); 
        
        %>
        

        这将返回请求中收到的 cookie 数组。

        【讨论】:

          猜你喜欢
          • 2017-04-19
          • 2016-02-15
          • 1970-01-01
          • 1970-01-01
          • 2013-06-29
          • 1970-01-01
          • 1970-01-01
          • 2011-07-09
          • 2015-04-01
          相关资源
          最近更新 更多