Если вы разрабатываете в .NET, одним из наиболее эффективных способов избежать XSS является использование библиотеки Microsoft AntiXSS . Это очень эффективный способ дезинфицировать ваш ввод.
В JSTL/JSP лучшим способом защиты от XSS является использование тега c:out без установки для параметра escapeXml по умолчанию значения false.
<c:out value="${somePossiblyDangerousVar}"/>