package zx.soft.zk.manager.controller; import java.io.IOException; import java.util.Properties; 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 org.apache.zookeeper.ZooKeeper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import zx.soft.zk.manager.utils.ServletUtil; @WebServlet(urlPatterns = { "/logout" }) public class Logout extends HttpServlet { private static final long serialVersionUID = -1748766483057385417L; private final static Logger logger = LoggerFactory.getLogger(Logout.class); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { logger.debug("Logout Action!"); Properties globalProps = (Properties) getServletContext().getAttribute("globalProps"); String zkServer = globalProps.getProperty("zkServer"); String[] zkServerLst = zkServer.split(","); ZooKeeper zk = ServletUtil.INSTANCE.getZookeeper(request, response, zkServerLst[0]); request.getSession().invalidate(); zk.close(); response.sendRedirect("/login"); } catch (InterruptedException ex) { ServletUtil.INSTANCE.renderError(request, response, ex.getMessage()); } } }