(Обновлено марта 2020 г.)
Прежде всего, «Java EE» с сентября 2019 года был переименован в « Jakarta EE », начиная с версии 8. Исторически существовал также термин «J2EE», который охватывал версии 1.2 до 1.4. «Java EE» охватывал версии 5–8. См. Также Java Platform, Enterprise Edition, History in Wikipedia .
Что именно мне нужно выучить?
Я предполагаю, что вы уже знакомы с технологиями на стороне клиента, такими как HTML , CSS и JS , поэтому я не буду вдаваться в подробности. Я также предполагаю, что вы уже знакомы с базовой Java. Следуйте инструкциям Oracle по Java и, если возможно, получите книгу или курс по OCP .
Затем вы можете начать с JSP / Servlet, чтобы изучить основные концепции веб-разработки на Java. Хорошие учебные пособия можно найти в главах 3–8 учебного руководства по Java EE 5 Oracle и на Coreservlets.com ( Beginner-Intermediate и Advanced, также JDBC ). Обратите внимание, что начиная с Java EE 6, JSP удален из учебника по Java EE в пользу JSF, и с тех пор JSP практически не изменился. Вот почему вы можете смело использовать для этого довольно старый учебник по Java EE 5. Наиболее важным в отношении JSP является тот факт, что написание простого кода Java в файлах JSP с использованием <%
скриптлетов %>
официально не рекомендуется с 2003 года. См. Также Как избежать использования кода Java в файлах JSP? Поэтому любые уроки, которые все еще охватывают скриптлеты, следует пропустить, поскольку они определенно приведут вас в нисходящую спираль изучения плохих практик.
Здесь, в Stack Overflow, вы также можете найти хорошие вики-страницы о JSP , сервлетах , JSTL и EL, где вы можете изучить основы и найти более полезные ссылки.
Tomcat, кажется, хороший веб-сервер для Java.
Это. Однако он ограничен в возможностях. По сути, это пустой сервлет-контейнер, реализующий только части JSP / Servlet огромного Java EE API. Если вы когда-нибудь захотите использовать EJB или JPA, вам нужно выбрать другой, например WildFly , TomEE , Payara , Liberty , WebLogic и т. Д. В противном случае вам придется использовать Spring вместо Java EE. А именно, невозможно установить EJB в контейнере с сервлетами без модификации ядра ядра, в случае с Tomcat вы будете изобретать TomEE заново. Смотрите также Что такое Java EE? , Как правильно установить и настроить JSF библиотеки через Maven? и как установить и использовать CDI на Tomcat?
Я знаю, что есть Hibernate для ORM.
Ранее, в эпоху J2EE, когда JPA не существовало и EJB2 был ужасен, Hibernate был автономной платформой и часто использовался в сочетании с Spring для замены EJB. С момента появления JPA в Java EE 5 (2006) Hibernate стал реализацией JPA. Вы можете изучать JPA в учебном пособии по Джакарте EE, часть VIII . Кроме того, EJB3 был значительно улучшен на основе уроков, извлеченных из Spring. См. Также Когда необходимо или удобно использовать Spring или EJB3 или все вместе?
Есть ли в Java MVC? Что насчет JSP? Могут ли MVC и JSP быть вместе? JavaBeans?
Вы можете , но это много изобретает колесо, когда речь идет о связывании модели с представлением (преобразование, проверка, изменение слушателей и т. Д.). Среда MVC в Java EE называется JSF . До Java EE 6 он работал на JSP, который является довольно устаревшей технологией представления. JSP был заменен Facelets . Вы можете изучать JSF в учебном пособии по Джакарте, часть III, главы 7–17 . Кстати, вы также можете использовать JSF на Tomcat, вам нужно только установить его отдельно. Инструкции по установке можно найти на домашней странице Mojarra, WildFly, TomEE, Payara, Liberty, WebLogic и т. Д., Будучи полноценной реализацией Java EE, уже предоставляют JSF (и CDI, BV, JSONP, JAX-RS, EJB, JPA и т. Д.), Поэтому вам не нужно установить его отдельно. Смотрите также Как правильно установить и настроить библиотеки JSF через Maven?
Может быть, книга, которая охватывает все это?
Есть несколько книг. Я бы порекомендовал начать с книги, посвященной Джакарте в целом , книги, в большей степени посвященной JSF , и книги, в большей степени посвященной JPA . Убедитесь, что вы выбрали самую свежую книгу по этой теме. Сначала исследуйте самую последнюю доступную версию, а затем убедитесь, что выбранная книга охватывает это. Таким образом, определенно не выбирайте старую книгу для Java EE 5 или JSF 1.0 или около того, хотя в настоящее время уже доступны Jakarta EE 8 и JSF 2.3.
И последнее, но не менее важное: не обращайте внимания на сайты очистки фрагментов кода, поддерживаемые любителями, которые уделяют основное внимание доходам от рекламы, а не обучению, таким как roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava и т. Д. Их легко узнать по нарушению рекламных ссылок / баннеры и фрагменты кода JSP, содержащие скриптлеты .
Смотрите также: