(Оновлено березень 2020 р.)
Перш за все, "Java EE" з вересня 2019 року перейменовано на " Джакарта EE ", починаючи з версії 8. Історично існував також термін "J2EE", який охоплював версії 1.2 до 1.4. "Java EE" охоплював версії 5 до 8. Див. Також Платформа Java, видання Enterprise, історія у Вікіпедії .
Що саме мені потрібно навчитися?
Я припускаю, що ви вже знайомі з клієнтськими технологіями, такими як HTML , CSS та JS , тому я не буду детально з цим докладатись. Я також припускаю, що ви вже знайомі з базовою Java. Дотримуйтесь навчальних посібників Java Oracle і, якщо можливо, також займіться книжкою або курсом OCP .
Потім ви можете почати з JSP / Servlet, щоб вивчити основні концепції веб-розробки Java. Хороші підручники можна знайти в розділі ІІ - 8 підручника ІІ-8 підручника Oracle Java EE 5 та на Coreservlets.com (для початківців-проміжних та просунутих, також JDBC ). Зауважте, що оскільки Java EE 6, JSP видаляється з підручника Java EE на користь JSF і JSP в основному не змінювався з тих пір. Ось чому ви могли сміливо використовувати для цього досить старий підручник Java EE 5. Найголовніше, що стосується JSP - це той факт, що запис простого коду Java у файли JSP за допомогою <%
скриптів %>
офіційно не рекомендується використовувати з 2003 року. Див. Також Як уникнути коду Java у файлах JSP? Тому будь-які навчальні посібники, які все ще охоплюють сценарії, слід пропустити, оскільки вони неодмінно перенесуть вас у низхідну спіраль вивчення поганих практик.
Тут, на Stack Overflow, ви також можете знайти приємні сторінки вікі про JSP , Servlets , JSTL та EL, де ви можете дізнатись основи та знайти більше корисних посилань.
Tomcat, здається, є хорошим веб-сервером для Java.
Це є. Однак вона обмежена можливостями. Це, в основному, контейнер сервлетів barebones, реалізуючи лише JSP / Servlet частини величезного API Java EE. Якщо ви коли-небудь хочете піти на EJB або JPA, ви хочете вибрати інший, наприклад WildFly , TomEE , Payara , Liberty , WebLogic тощо. В іншому випадку вам доведеться використовувати Spring замість Java EE. А саме, неможливо встановити EJB в контейнер сервлетів без змін, не змінюючи основний двигун, ви б у випадку, якщо Tomcat, в основному, винаходив TomEE. Дивіться також Що саме таке Java EE? , Як правильно встановити та налаштувати бібліотеки JSF через Maven? і Як встановити та використовувати CDI на Tomcat?
Я знаю, що існує сплячий режим для ORM.
Раніше, в епоху J2EE, коли JPA не існувало, а EJB2 було жахливим, сплячка була самостійною основою і часто використовувалася в поєднанні з Spring для витіснення EJB. З моменту впровадження JPA в Java EE 5 (2006), сплячий режим став реалізацією JPA. Ви можете дізнатися JPA в навчальному посібнику EE Джакарти VIII . Крім того, EJB3 значно покращився на основі уроків, отриманих з весни. Дивіться також Коли потрібно або зручно використовувати Spring або EJB3 або всі разом?
Чи є у Java MVC? Що з JSP? Чи можуть MVC та JSP бути разом? JavaBeans?
Можна , але це дуже багато винаходів колеса, коли мова йде про прив'язку моделі до перегляду (перетворення, перевірка, зміна слухачів тощо). Структура MVC Java EE називається JSF . До Java EE 6 він працював на JSP, що є досить застарілою технологією перегляду. JSP замінюється Facelets . Ви можете дізнатися JSF в Jakarta EE підручник ІІІ розділ 7 - 17 . Ви можете, до речі, також використовувати JSF на Tomcat, вам потрібно лише встановити його окремо. Інструкції з установки можна знайти на домашній сторінці Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic та ін. Як повноцінна реалізація Java EE вже забезпечують JSF (і CDI, BV, JSONP, JAX-RS, EJB, JPA тощо), тому вам не потрібно встановити його окремо. Див. Також Як правильно встановити та налаштувати бібліотеки JSF через Maven?
Можливо, книга, яка охоплює все це?
Є кілька книг. Я б рекомендував розпочати з книги, орієнтованої на Джакарта EE взагалі , книги, більш орієнтованої на JSF , і книги, більш орієнтованої на JPA . Переконайтеся, що ви вибрали останню книгу, що висвітлює цю тему. Спочатку вивчіть останню доступну версію, а потім переконайтеся, що вибрана книга охоплює це. Таким чином, не варто вибирати стару книгу для Java EE 5 або JSF 1.0 або близько того часу, поки на даний момент вже доступні Jakarta EE 8 і JSF 2.3.
І останнє, але не менш важливо, ігноруйте сайти, що містять фрагменти коду, які підтримують аматори з основною увагою на доходах від реклами, а не на навчанні, наприклад, розендіа, навчальний посібник, javabeat, journaldev, javatpoint, codejava тощо. Їх легко впізнати, порушуючи рекламні посилання / банери та фрагменти коду JSP, що містять сценарії .
Дивитися також: