sâmbătă, 20 iunie 2015

[OmniFaces utilities 2.1/2.0] Remove the cookie with given name and path from the HTTP response


[OmniFaces utilities] The removeResponseCookie() method removes the cookie with given name and path from the HTTP response. Note that the name and path must be exactly the same as it was when the cookie was created.

Method:
        Servlets#addResponseCookie() - 2.0
Usage:

·         inside a servlet filter or even a plain vanilla servlet (basically, when FacesContext is not available):

import org.omnifaces.util.Servlets;
...
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // first we add a cookie (of course, you already may have one)
  Servlets.addResponseCookie(request, response, "fooCookie", "foo", "/mypath", -1);
  // e.g. foo
  Servlets.removeResponseCookie(request, response, "fooCookie", "/mypath");
 }
 ...
}

·         in JSF, when FacesContext is available use, Faces#removeResponseCookie(), or more clumsy (not recommended):

import org.omnifaces.util.Servlets;
...
FacesContext context = FacesContext.getCurrentInstance();
ExternalContext externalContext = context.getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();

// first we add a cookie (of course, you already may have one)
Servlets.addResponseCookie(request, response, "fooCookie", "foo", "/mypath", -1);

// now, remove it!
Servlets.removeResponseCookie(request, response, "fooCookie", "/mypath");

API 2.1 GH 2.1

Niciun comentariu:

Trimiteți un comentariu