/* * Copyright (c) 2001, Xiaoping Jia. * All Rights Reserved. */ package expo2; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import org.apache.ecs.*; import org.apache.ecs.html.*; /** * Java Expo web app version 2. * The Java Expo web app logout servlet. * * @version 1.1 2001/04/20 * @since 1.0 * @author Xiaoping Jia */ public class JavaExpoLogout extends JavaExpoBase { public boolean handleRequest(HttpServletRequest request, HttpServletResponse response, List contents) throws ServletException, IOException { Cookie[] cookies = request.getCookies(); Cookie loginCookie = null; if (cookies != null) { for (int i = 0; i < cookies.length; i++) { if ("direct-login".equals(cookies[i].getName())) { loginCookie = cookies[i]; } } } String submit = request.getParameter("submit"); if (submit == null) { // invoked from the menu if (loginCookie != null) { // logged in contents.add(new Form(response.encodeURL(urlPrefix + "JavaExpoLogout"), "post") .addElement(new Input(Input.submit, "submit", "Logout")) .addElement(new Input(Input.submit, "submit", "Disable direct login & logout"))); } else { // not logged in contents.add(new H1("Bye.")); } } else { // invoked by submitting the form if ("Disable direct login & logout".equals(submit)) { if (loginCookie != null) { // remove login cookie loginCookie.setMaxAge(0); } response.addCookie(loginCookie); } contents.add(new H1("Bye.")); } return true; } }