Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Если Вы хотите получить доступ к ссылающемуся домену и агенту пользователя, те доступны клиентскому JavaScript, но не путем доступа к заголовкам непосредственно.
Для получения ссылающегося домена используйте document.referrer
.
Для доступа к агенту пользователя используйте navigator.userAgent
.
, Поскольку другие указали, HTTP-заголовки не доступны, но Вы конкретно спросили о ссылающемся домене и агенте пользователя, которые доступны с помощью JavaScript.
Почти по определению клиентский JavaScript не в принимающем конце запроса HTTP, таким образом, это не имеет никаких заголовков для чтения. Обычно, Ваш JavaScript является результатом http ответа. При попытке получить значения запроса HTTP, который генерировал Ваш ответ, необходимо будет записать серверный код для встраивания тех значений в JavaScript, который Вы производите.
Это становится немного хитрым для имения серверного кода, генерируют клиентский код, так быть уверенным, в именно это Вы нуждаетесь. Например, если Вы хотите информацию об Агенте пользователя, Вы могли бы найти достаточным получить различные значения, что JavaScript предусматривает определение браузера. Запустите с navigator.appName и navigator.appVersion.
Я вообразил бы захваты Google [приблизительно 110], серверная сторона данных - помнит, когда страница загружается в Ваш браузер, который имеет код Google Analytics в нем, Ваш браузер выполняет запрос к серверам Google; Google может получить данные таким образом, а также через JavaScript, встроенный в страницу.