@Override
    protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException
    {
        final HttpSession session = request.getSession();
        final WebManager webManager = new WebManager();
        webManager.init(request, response, session, session.getServletContext());

        final Map<String, Object> errors = new HashMap<>();

        final Cookie csrfCookie = CookieUtils.getCookie(request, "csrf");
        if (csrfCookie == null || !csrfCookie.getValue().equals(request.getParameter("csrf"))) {
            errors.put("csrf", null);
        } else {
            // Checkboxes that are unchecked do not register as a parameter. Thus, if the parameter is absent, then the user unchecked the checkbox!
            final boolean showName = ParamUtils.getBooleanParameter(request, "showName", false);
            final boolean showResource = ParamUtils.getBooleanParameter(request, "showResource", false);
            final boolean showVersion = ParamUtils.getBooleanParameter(request, "showVersion", false);
            final boolean showClusterNode = ParamUtils.getBooleanParameter(request, "showClusterNode", false);
            final boolean showStatus = ParamUtils.getBooleanParameter(request, "showStatus", false);
            final boolean showPresence = ParamUtils.getBooleanParameter(request, "showPresence", false);
            final boolean showRxTx = ParamUtils.getBooleanParameter(request, "showRxTx", false);
            final boolean showIp = ParamUtils.getBooleanParameter(request, "showIp", false);

            webManager.setPageProperty("session-summary", "console.showNameColumn", showName ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showResourceColumn", showResource ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showVersionColumn", showVersion ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showClusterNodeColumn", showClusterNode ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showStatusColumn", showStatus ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showPresenceColumn", showPresence ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showRxTxColumn", showRxTx ? 1 : 0);
            webManager.setPageProperty("session-summary", "console.showIpColumn", showIp ? 1 : 0);
        }

        request.setAttribute("errors", errors);
        setStandardAttributes(request, response, webManager);
        request.getRequestDispatcher("session-summary.jsp").forward(request, response);
    }
Servlet for the admin console page that configures what columns are visible on the 'client sessions' page.

@author Guus der Kinderen, guus@goodbytes.nl
xmppserver/src/main/java/org/jivesoftware/admin/servlet/SessionSummaryConfigServlet.java