Мне кажется, я понял, что происходит не так, и это обычная ошибка, которую люди делают, когда впервые начинают работать с потоком запросов servlet / jsp.
Как уже упоминалось, вам нужно поменять
request.getSession().setAttribute("TMDB_LIST", movieDbs);
на:
request.setAttribute("TMDB_LIST", movieDbs);
Теперь причина, по которой вы получаете ноль, заключается в том, что выне работает сервлет.Вы пытаетесь получить доступ к jsp напрямую и ожидаете, что переменная запроса будет там.Это не так, как поток запросов сервлет / JSP работает.Сервлет устанавливает переменную запроса «TMDB_LIST» и перенаправляет эту переменную на страницу jsp («/movie-list.jsp»).Как только вы перейдете на другую страницу, срок действия переменной истечет и будет нулевым.Если вы попытаетесь получить доступ к jsp напрямую, он будет нулевым, потому что вам нужен сервлет для передачи переменной в jsp.Я предполагаю, что это то, что вы делаете, или у вас есть редирект после достижения JSP.
Переменные сеанса отличаются тем, что установленные вами переменные сохраняются во всем приложении / веб-сайте (до тех пор, пока вы не удалите их или не измените их) в течение всего времени, указанного сервером.
Переменные запроса доступны только после первого запроса.(т.е. сервлет передает переменные запроса в jsp или jsp передает переменные запроса в сервлет)