В чем разница между методами ответа сервлета addHeader и setHeader? - PullRequest
22 голосов
/ 14 апреля 2011

Могу ли я использовать setHeader для установки нового заголовка?Или мне сначала нужно addHeader, затем использовать setHeader метод?

Ответы [ 3 ]

27 голосов
/ 14 апреля 2011

В документации говорится, что вы можете добавить несколько значений в конкретный заголовок, используя метод addHeader, тогда как начальное значение будет перезаписано, если вы используете метод setHeader.

В обоих случаях не-существующий заголовок будет создан.

10 голосов
/ 14 апреля 2011

Javadocs ваш друг:

void addHeader(String name, String value)

Добавляет заголовок ответа с указанным именем и значением.Этот метод позволяет заголовкам ответа иметь несколько значений.

void setHeader(String name, String value)

Устанавливает заголовок ответа с указанным именем и значением.Если заголовок уже был установлен, новое значение заменяет предыдущее.Метод containsHeader может использоваться для проверки наличия заголовка перед установкой его значения.

3 голосов
/ 22 июля 2015

И setHeader (), и addHeader () добавят заголовок и значение к ответу, если заголовка еще нет в ответе.Разница между set и add появляется, когда есть заголовок.В этом случае: setHeader () перезаписывает существующее значение, тогда как addHeader () добавляет дополнительное значение

...