Это совершенно нормально: при первом запросе сервер не знает, принимает ли клиент файлы cookie или нет, поэтому он отправляет файл cookie и , а также сохраняет идентификатор сеанса в URL-адресе.
Во втором запросе, если он получает идентификатор сеанса из файла cookie, он знает, что добавление его к URL-адресу больше не требуется для этого сеанса, и, таким образом, прекращает это делать.
ЭтоКстати, что объясняет javadoc для encodeURL :
Кодирует указанный URL-адрес, включая идентификатор сеанса, или, если кодирование не требуется, возвращает URL-адрес без изменений.Реализация этого метода включает логику, чтобы определить, нужно ли кодировать идентификатор сеанса в URL.Например, если браузер поддерживает файлы cookie или отслеживание сеанса отключено, кодировка URL не требуется.
Для надежного отслеживания сеанса все URL-адреса, излучаемые сервлетом, должны выполняться с помощью этого метода.В противном случае перезапись URL не может использоваться с браузерами, которые не поддерживают файлы cookie.