Ответы на ваш вопрос:
1) как я могу взять лучшие практики, чтобы лучше всего работать с моим сайтом в jsp?
Вместо того, чтобы кодировать сервлеты и страницы JSP, вы должны использовать инфраструктуру MVC. Существует множество Java-MVC-фреймворков, таких как Spring, Struts, Wicket и т. Д. Они помогут вам в создании более стабильного и поддерживаемого приложения
2) как я должен использовать рассматривать request.session.getAttribute () и request.attribute ()?
Где хранить данные - это ваш дизайн. Если вам нужно, чтобы атрибут был доступен в нескольких запросах, вам придется поместить его в сеанс. Принимая во внимание, что если вам нужен атрибут только для 1 или 2 запросов, вы можете сделать запрос заранее. Лучшее управление всегда обеспечивается системами, о которых я говорил выше.
3) все данные между сервлетом и jsp должны быть в request.session.getAttribute? Или в
request.getAttribute?
Опять же, это зависит от вашего приложения и того, как долго вам нужны данные, к которым вы пытаетесь получить доступ.