Является ли ThreadLocal предпочтительным для HttpServletRequest.setAttribute («ключ», «значение»)?

Спецификация сервлета (см. Мой предыдущий вопрос) гарантирует, что один и тот же поток выполнит все фильтры и связанный сервлет. Учитывая это, я не вижу никакого смысла для передачи данных с использованиемHttpServletRequest.setAttribute если есть возможность использоватьThreadLocal (при условии, что вы правильно очистите). Я чувствую, что есть два преимущества использованияThreadLocal: безопасность типов и лучшая производительность, потому что не используются строковые ключи или карты (за исключением, вероятно, в коллекции потоков по (не строковому) идентификатору потока).

Может ли кто-нибудь подтвердить, если я прав, чтобы я мог отказаться отsetAttribute?

Ответы на вопрос(4)

Ваш ответ на вопрос