Грубо говоря, .jsp это что-то типа .php.
Вот первое же описание по поиску :)
https://ru.wikipedia.org/wiki/JSP
JSP страницы имеют расширение .jsp и размещаются там же, где и обычные Web-страницы
Поэтому при первом запросе этот процесс может вызвать небольшую задержку
сервлет и .jsp - это зеркальные близнецы, что-то типа когда один - это вывернутое наизнанку представление другого. Просто после некоторого опыта использования того и другого вы будете их применять по своему вкусу. По моему личному опыту, я не пользуюсь ни тем, ни другим, а предпочитаю рендерить страницы в html/js, а данные получать через ajax (через сервлеты, хотя теоретически можно и через jsp - им без разницы, что вы через них отдаёте).
P.S.
JavaEE - это такой миф в мире Java. Все о нём говорят. Не парьтесь. Просто изучайте работу backend-а. Когда вы достигнете определённого уровня, то сами себе ответите на вопрос, что такое JavaEE.