Hallo,
ohne näher auf Dein Java oder das ${contextPath} eingehen zu wollen:
Wieso verlinkst Du nicht einfach mit href="/favicon.ico"
und steckst das Icon ins Wurzelverzeichnis? Dann müsste es doch gehen. Oder habe ich irgend etwas nicht mitbekommen bzw. falsch verstanden? Im übrigen wäre es einfacher, den Fehler nicht in Deiner Java-Anwendung zu suchen, sondern in dem HTML-Code, den diese erzeugt.
Grüße, luti