JSESSIONID в URL к статическим ресурсам

Странная ошибка, на мой взгляд. При первом обращении к JSP/JSPX-странице ко всем ссылкам на CSS-файлы, JavaScript-файлы и картинки добавляется в конце jsessionid через точку с запятой:

На самом деле это вполне стандартное поведение тега <c:url.... Первоначально сервер не знает, поддерживает ли браузер куки, поэтому добавляет идентификатор сессии заодно и к URL. Затем при повторных обращениях к серверу он видит, что браузер вернул ему куку, а значит, он их поддерживает, поэтому перестаёт добавлять его к URL.

Как вариант исправления этой проблемы мы можем для JSPX-страниц, которым сессия не нужна добавить:

для JSP-страниц аналогичная директива будет выглядеть так:

Либо вместо использования <c:url... и <spring:url можно использовать ${pageContext.request.contextPath} и проблема тоже будет решена:

Я мог немного напутать здесь с терминам, но, вроде, всё правильно объяснил. Это стандартное поведение <c:url, а не ошибка.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *