package servlet.admin;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet 实现类，用于处理管理员的登出操作
 *
 * 该 Servlet 会销毁当前管理员的登录会话，并重定向到管理员登录页面。
 */
@WebServlet("/admin/logOut")
public class LoginOut extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * 处理 GET 请求，执行管理员登出操作
	 *
	 * 该方法会结束当前管理员的会话，移除 `admin` 属性，并重定向到管理员登录页面。
	 *
	 * @param req 请求对象
	 * @param resp 响应对象
	 * @throws ServletException 如果发生 Servlet 错误
	 * @throws IOException 如果发生 I/O 错误
	 */
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 获取当前会话对象
		HttpSession session = req.getSession();

		// 如果会话中存在 "admin" 属性（即管理员已登录），则移除该属性
		if (session.getAttribute("admin") != null) {
			session.removeAttribute("admin");
		}

		// 重定向到管理员登录页面
		resp.sendRedirect(req.getContextPath() + "/adminLogin.html");
	}
}
