我有一个过滤器和一个 Servlet。我正在尝试创建一个 Cookie 并将其添加到过滤器中“chain.doFilter”方法之后的响应中。
*Cookie 需要在“chain.doFilter”方法之后创建并添加到 Response 中,因为它的值取决于来自 Response 的一些信息。
我做了一些研究,发现为响应创建一个包装器(在 doFilter 方法之前)可以让我实现这一点,但它不起作用,我可以将 Cookie 添加到包装器,但在浏览器中检查时Cookie 不存在。
最佳答案
要添加 cookie,您必须在 doFilter 方法中使用 HttpServletResponse 类。 这是一个例子:
public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
response.addCookie(new Cookie("key", "value"));
chain.doFilter(request, response);
}
关于java - 有没有办法在过滤器内创建 Cookie 并将其添加到响应中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59490657/