Невозможно определить функции веб-браузера, используя только Java. Java / JSP работает в веб-сервере, а не в веб-браузере. Вам действительно нужно использовать JavaScript для этого. Вы можете использовать код для этого, который вы уже нашли в соответствующем вопросе. Самое простое, что вы можете сделать, это позволить JS проверить загрузку страницы, если там уже нет файлов cookie, указывающих на то, что браузер поддерживает WebP, а затем выполнить обнаружение функции соответствующим образом и, наконец, установить долгоживущий файл cookie на document.cookie
и перезагрузить страница location.reload()
.
На стороне сервера вам просто нужно проверить наличие cookie и / или его значения с помощью HttpServletRequest#getCookies()
в сервлете или ${cookie}
в JSP перед отправкой / настройкой соответствующего URL-адреса изображения.
Кроме установки cookie, вы всегда можете разрешить JS отправлять данные в качестве параметров запроса ajax-запроса, но это означает, что вы должны делать это при каждом запросе или сеансе.