Вопрос 1 может быть выполнен с использованием фильтра или клапана :
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws java.io.IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(false);
if(session != null) {
dumpSession( session );
}
chain.doFilter(request, response);
}
}
Для вопроса 2 см. обсуждение