Responsabilidades misturadas
Para cada requisição o servidor precisa: identificar a rota, buscar os dados, montar a resposta.
if (url.equals("/cardapio")) { String html = "<ul>"; for (String item : buscarNoBanco("SELECT ...")) { html += "<li>" + item + "</li>"; } resposta.enviar(html + "</ul>");}
Três responsabilidades no mesmo bloco = código espaguete.