7
1 CS6320 – Servlet CS6320 – Servlet Cookies Cookies L. Grewe L. Grewe

CS6320 – Servlet Cookies

  • Upload
    sheila

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

CS6320 – Servlet Cookies. L. Grewe. What is a cookie?. Name-value bindings sent by a server to a web browser and then sent back unchanged by the browser each time it accesses that server. e.g. login = grewe (name = value) - PowerPoint PPT Presentation

Citation preview

Page 1: CS6320 – Servlet Cookies

11

CS6320 – Servlet CS6320 – Servlet CookiesCookies

L. GreweL. Grewe

Page 2: CS6320 – Servlet Cookies

22

What is a cookie?What is a cookie? Name-value bindings sent by a server to a Name-value bindings sent by a server to a

web browser and then sent back web browser and then sent back unchanged by the browser each time it unchanged by the browser each time it accesses that server.accesses that server.• e.g. login = grewe e.g. login = grewe (name = value)(name = value)

Used for Used for authenticatingauthenticating, tracking, and , tracking, and maintaining specific information about maintaining specific information about users, such as site preferences or the users, such as site preferences or the contents of their contents of their electronic shopping cartselectronic shopping carts. .

Page 3: CS6320 – Servlet Cookies

33

Servlets and CookiesServlets and Cookies Java Servlet API provides comfortable Java Servlet API provides comfortable

mechanisms to handle cookiesmechanisms to handle cookies The class The class javax.servlet.http.Cookiejavax.servlet.http.Cookie represents a represents a

cookiecookie• Getter methods: Getter methods:

getName()getName(), , getValue()getValue(), , getPath()getPath(), , getDomain()getDomain(), , getMaxAge()getMaxAge(), , getSecure()getSecure()……

• Setter methods: Setter methods: setValue()setValue(),, setPath() setPath(), , setDomain()setDomain(),,

setMaxAge()setMaxAge()……

Page 4: CS6320 – Servlet Cookies

44

Servlets and Cookies (cont)Servlets and Cookies (cont)

Get the cookies from the service Get the cookies from the service request:request:

Cookie[]Cookie[] HttpServletRequest.getCookies() HttpServletRequest.getCookies()

Add a cookie to the service response:Add a cookie to the service response:HttpServletResponse.addCookie(Cookie cookie)HttpServletResponse.addCookie(Cookie cookie)

Page 5: CS6320 – Servlet Cookies

55

Webpage that triggers Servlet to Webpage that triggers Servlet to create a Cookiecreate a Cookie

<html> <head><title>Insert your Name</title></head> <body> <h1>What is your name?</h1> <form action="welcomeback" method="get"> <p> <input type="text" name="username" /> <input type="submit" /> </p> </form> </body></html>

getname.html

Page 6: CS6320 – Servlet Cookies

66

An Example (cont)An Example (cont)

public class WelcomeBack extends HttpServlet {public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String user = req.getParameter("username"); if (user == null) { // Find the "username" cookie Cookie[] cookies = req.getCookies(); for (int i = 0; cookies != null && i < cookies.length; ++i) { if (cookies[i].getName().equals("username")) user = cookies[i].getValue(); } } else res.addCookie(new Cookie("username", user));

WelcomeBack.java

Page 7: CS6320 – Servlet Cookies

77

An Example (cont)An Example (cont) if (user == null) // No parameter and no cookie res.sendRedirect("getname.html");

res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<html><body><h1>Welcome Back " + user + "</h1></body></html>");

}} WelcomeBack.java