Странная ошибка, на мой взгляд. При первом обращении к JSP/JSPX-странице ко всем ссылкам на CSS-файлы, JavaScript-файлы и картинки добавляется в конце jsessionid через точку с запятой:
1 |
<link href="/resources/styles/wood.css;jsessionid=2957A...." rel="stylesheet"> |
На самом деле это вполне стандартное поведение тега <c:url.... Первоначально сервер не знает, поддерживает ли браузер куки, поэтому добавляет идентификатор сессии заодно и к URL. Затем при повторных обращениях к серверу он видит, что браузер вернул ему куку, а значит, он их поддерживает, поэтому перестаёт добавлять его к URL.
Как вариант исправления этой проблемы мы можем для JSPX-страниц, которым сессия не нужна добавить:
1 |
<jsp:directive.page session="false" /> |
для JSP-страниц аналогичная директива будет выглядеть так:
1 |
<%@ page session="false" %> |
Либо вместо использования <c:url... и <spring:url можно использовать ${pageContext.request.contextPath} и проблема тоже будет решена:
1 |
1 2 |
<link href="${pageContext.request.contextPath}/resources/css/style.css" rel="stylesheet"> |
Я мог немного напутать здесь с терминам, но, вроде, всё правильно объяснил. Это стандартное поведение <c:url, а не ошибка.
JSPX разве уже не умерло?