/*
 * @(#)LogoutServlet.java
 *
 * Copyright (C) 2006 Infocity Inc. All Rights Reserved.
 */
package sample;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * ログアウト処理サーブレット。
 * 
 * @author Hiroshi.Ebata(INFOCITY)
 * @version $Revision: 1.0 $ $Date: 2006/10/19 19:11:18 $
 */
public class LogoutServlet extends HttpServlet {

	/**
	 * コンストラクタ。
	 */
	public LogoutServlet() {
		super();
	}

	/* (非 Javadoc)
	 * @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {
			// セッションの属性情報を削除
			HttpSession session = request.getSession();
			Enumeration names = session.getAttributeNames();
			while(names.hasMoreElements()) {
				session.removeAttribute((String)names.nextElement());
			}
			// セッションの無効化
			session.invalidate();

			// ログインページへリダイレクト
			response.sendRedirect("/sso_sample/login.html");
		} catch(Exception e) {
			throw new ServletException(e);
		}
	}

}
