Разница между encodeURL и encodeRedirectURL

javadoc для javax.servlet.http.HttpServletResponse немного расплывчата в различии между тем, какие правила encodeURL и encodeRedirectURL следуют, есть ли какие-либо примеры того, что эти точные правила? Когда выход encodeURL отличается от encodeRedirectURL?

Для конкретного примера я уже создаю URL-адрес перенаправления, который я буду использовать с response.sendRedirect(url). Я получаю, что url уже закодирован, но я хочу добавить к нему параметр, который имеет значение, которое является другим URL:

param2=http://google.com

Какую из двух функций я могу использовать для кодирования?

Ответ 1

encodeURL() используется для всех URL-адресов в выводе сервлета. Он помогает кодировать идентификаторы сеанса с URL-адресом.

encodeRedirectURL() используется только с res.sendRedirect. Он также используется для кодирования идентификаторов сеанса с URL-адресом, но только при перенаправлении.

Ответ 2

Салам Алеком Абдуллах, Я посмотрел и искал ответ, я знал, что найду его в stackoverflow или coderanch, и там я нашел ответ ответ, который был опубликован ранее,

Опубликовано 4/19/2006 8:02 AM Цитировать сообщение модератору Привет,

EncodeURL используется для кодирования URL-адреса для отслеживания сеанса в вперед и включить механизм. EncodeRedirectURL кодирует указанный URL для использования в методе sendRedirect.

Основное различие между двумя: реализация Метод encodeRedirectURL включает в себя логику для определения того, идентификатор сеанса должен быть закодирован в URL-адресе в том случае, если вы перенаправление URL-адреса в другой контекст, где информация о сеансе не требуется или недействительно. Метод encodeURL не добавляет seeion id, если файлы cookie включены. В добавок к этому encodeRedirectURL не добавляет информацию о сеансе, если URL-адрес перенаправляется в другой контекст (веб-приложение). Поскольку правила для принятия этого определения могут отличаться от правил, используемых для решить, следует ли кодировать нормальную ссылку, этот метод является separete из метод encodeURL.

Надеюсь, что это поможет вам.

Спасибо

Нарендра Дханде