У HttpServletResponse
действительно нет метода setAccess-Control-Allow-Origin()
. Даже если он есть, установка / изменение заголовков, когда вы в основном находитесь внутри тела ответа, также не всегда гарантированно работает (JSP в основном является частью тела ответа!). Вы только рискуете увидеть IllegalStateException: response already committed
в журналах сервера.
Вы хотите установить заголовки ответа задолго до того, как ответ будет зафиксирован. Лучшее место - использование фильтра . Создайте класс, который implements Filter
, и выполните работу в методе doFilter()
.
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
chain.doFilter(req, res);
}
Сопоставьте этот фильтр с нужным URL-шаблоном.