Що навчитися робити веб-додатки Java в Java EE 6? [зачинено]


103

Моя мета - зробити веб-додатки!

Я закінчив читати книги "Шеф-повод - Ява" та "Шеф-фут - Сервлети та JSP".

Оскільки ця тема (веб-додатки) настільки велика і складна, я хотів би запитати, що мені слід вивчити далі. Я відчуваю себе перенапруженим, коли читаю словники, як Java EE, EJB, JSF, JPA, Glassfish ... але я не здаюся.

Хто-небудь, будь ласка, скажіть мені, як я повинен продовжувати навчання? Чи потрібно схопити таку книгу: Починаючи з платформи Java EE 6 із GlassFish 3: від початківця до професіонала чи мені просто зробити кілька навчальних посібників в Інтернеті?

Дякую!


1
Я прочитав дві теми. Але знову ж таки: у нитках вони говорять лише "вчіться Tomcat, JBoss, Hibernate, вивчайте те чи інше тощо". Просто кидайте слова. Але я хочу знати, яку саме книгу чи навчальний посібник мені слід вивчити. Можливо, такого способу немає, і я мушу його навчитися "неефективно", переглядаючи кожне слово вгору. Я висловив сподівання отримати пораду, як рухатись.
— creativz

1
Я б рекомендував вам почати з Head First Servlets та JSP за умови, що ви добре володієте базовою Java. Якщо вам не подобається Java як мова програмування, то спочатку вам потрібно ознайомитись з нею та продовжити розробку веб-додатків.
— Рейчел

22
За винятком того, що всі ці питання застаріли з часу виходу Java EE 6 ...
— Pascal Thivent

4
@Stephen Ну, я фактично вважаю, що існує великий розрив, особливо у веб-частині (із серветками 3.0 або JSF 2.0 та CDI з фасолями).
— Паскаль Thivent

1
Смішно, що багато голосуючих загальних питань на кшталт цього закриті як "неконструктивні". Я б сказав, що вони дуже конструктивні, але не так легко відповісти конструктивно. Вони допомагають побачити більшу картину того, що хтось робить чи повинен робити. Але приємно, що їм дозволяється залишатися на SO.
— jackthehipster

Відповіді:


174

Навіть якщо я знаю, що це буде суперечливо, моя порада буде починати лише з Java EE 6. Отже, візьміть GlassFish v3 і отримайте книгу « Початок платформи Java EE 6 з GlassFish 3: від початківця до професіонала» або дотримуйтесь підручника Java EE 6 . На мою думку, книга (яку я почав читати, тому я знаю, про що я говорю) дає більше вказівок, які можуть бути кращими, якщо "все" для вас нове (воно охоплює і платформу Java EE, і її API і середовище для створення, розгортання ваших програм).

Тепер, як я вже сказав, я вже чую голоси, які говорять про такі речі, як "Java EE важка, замість цього використовуйте Spring, вивчіть Struts або Wicket або Stripes для презентаційного шару, вчіться в сплячому режимі для постійності чи ні, тому що мені не подобається ORM, використовуйте натомість iBatis або прямий JDBC (ви побачите, це здорово з Spring, Spring так круто), і використовуйте Tomcat (а чому б не Jetty), або JBoss, або просто забудьте про все це та йдіть на Grails, і bla bla bla ... " .

Але я не думаю, що це дуже допомагає тобі, і без наставництва чи настанов (і ти не знайдеш застарілого унікального ресурсу, що охоплює всі комбінації), для початківця це повинно звучати дуже заплутано.

Отже, тому що я вважаю, що Java EE 6 - це велике вдосконалення порівняно з попередніми версіями Java EE, оскільки він забезпечує справді приємні стандартні API для всіх ваших потреб (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI і т. д.), тому що ці API є більш ніж пристойними, тому що насправді нічого поганого в їх вивченні немає, тому що це вже велике завдання, тому що ви повинні десь почати , я б зосередився лише на Java EE 6 і забув інші рамки наразі. Точніше, я почав би з веб-профілю Java EE 6 (а потім додати речі, якщо ви хочете піти далі).

Роблячи це, 1) ви почнете роботу і навчитесь абсолютно новим речам, і 2) ви приділите деякий час всім іншим рамкам та / або інструментам, щоб адаптуватися та довести, що в них все ще є потреба. І якщо є, все одно буде час експериментувати вцілілих, і ви зможете набагато краще зрозуміти, чому вони існують.


3
Дякую. Щодо книги, я не прочитав її повністю, але я точно рекомендую її як для початківців, так і для експериментальних розробників, які хочуть отримати хороший огляд Java EE 6. Книга добре побудована, вона дійсно охоплює багато API (не дуже багато) відсутні), у ньому є зразки коду, що демонструють все представлене, вони справді дидактичні і дозволяють заглибитись так глибоко, як вам завгодно. У майбутньому можуть бути більш цілеспрямовані книги, але це добре.
— Паскаль Thivent

23
+1, але Весна настільки
— крута

13
Не трактуйте мене неправильно, Смуги, Весна, Зимова сплячка, ... чудові. Але занадто великий вибір може бути заплутаним при виявленні чогось нового, і я вважаю, що Java EE 6 дозволяє почати без них.
— Паскаль Thivent

9
Я погоджуюся з вами, дуже важливо вивчити стек JEE, навіть якщо ви не користуєтесь ним, адже цей стек є базовою лінією для всіх казкових фреймворків, які роблять речі справді чудовими, наприклад Wicket побудований на вершині концепція переднього контролера, що в світі Java означає сервлети та фільтри - якщо ви не знаєте, як вони працюють, ви не зрозумієте, що робить і Wicket! Якщо ви не приймаєте "магію!" як відповідь, звичайно.
— Есько

13
4 плюс роки пізніше .... ти змінив би щось про свою відповідь?
— jlars62

28

Моя порада 1 - припинити читати книги та почати впроваджувати речі. На мій досвід, вивчення книг - це погана заміна знань, які ви отримуєте, фактично роблячи справи.


1 - Контекст: це порада тому, хто щойно закінчив прочитати дві книги на цю тему, і шукає більше книг для читання. На практиці потрібно врівноважувати читання та заняття. Особливо, якщо у вас є конкретна проблема, яку ви намагаєтеся вирішити.


29
Але це може врятувати дні пошуку. Чи можете ви також дати вам достатньо знань, щоб відповісти на питання, а не задавати їх і, зрештою, мати високу репутацію тут, чи не згодні ви?
— Мухаммад Гельбана

6
Ні, я не згоден. ОП вже прочитала дві книги Java / Java EE. Настав час йому зайнятися деяким програмуванням. FWIW, я не отримав більшість своїх знань з читання книг. Швидше я отримав це ПОПЕРЕДНО, реалізуючи речі, і посилаючись на документацію, коли мені потрібно. Ви не вчитеся їздити на велосипеді, читаючи книги ... і ви також не вивчаєте навичок програмування.
— Стівен С

3
Важливо збалансувати readingі practice.
— smwikipedia

9

Java EE 6 справді дивовижна. Єдина проблема полягає в тому, що це близько 2 тижнів, і в даний час є лише 1 контейнер, який пропонує його функції - Glassfish.

Я не маю нічого проти Glassfish, я використовую його всюди, декілька виробничих примірників, я люблю продукт та проект.

З цього приводу, деталі Java EE 6 не перекладаються на Java EE 5. Деякі так і роблять багато, але Web Profile, Servlet 3.0, нові типи Bean, JPA 2 та ін. Їх немає.

Отже, вивчивши спочатку Java EE 6, ви просто обмежуєтесь одним контейнером. Більше приходить, але їх поки немає.

Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo і т. Д. Всі добре працюють із специфікацією Java EE 5 (принаймні ті частини технічних характеристик, які вони підтримують, у Tomcat немає EJB, наприклад).

Я не можу придумати нічого в Java EE 5, що не було перенесено на Java EE 6. Java EE 6 зробила деякі дуже старі аспекти необов’язковими, а ті, про які ви сьогодні просто б не дізналися. Java EE 6 ще більше спростила деякі речі Java EE 5 (зокрема, упаковка, наприклад, EJB Lite).

Вивчіть Java EE 5 зараз, щоб ви могли реально застосовувати те, що ви дізнаєтесь у різних середовищах, а не для того, щоб вивчити Java EE 6 зараз та виявити, що ви не зможете використовувати багато того, що ви дізнаєтесь.

Жодна книга не навчить вас того, що вам потрібно знати. Наприклад, сервлети - це приємна основа, але для всього, що перевищує пару сторінок або кінцевих точок, ви хочете використовувати одну з багатьох фреймворків сторонніх організацій або JSF, і жодна книга не охоплює ядро, а потім рамку зверху того.

Навчальний посібник Java EE 5 хороший в тому, щоби знизити основи, моя головна скарга полягає в тому, що вони не показують вам вихідний код. Швидше вони очікують, що ви просто завантажите і запустите його. Це не обговорюється в підручнику. Я вважав, що книги перших керівників є досить хорошими.

Для веб-програмування сировинні сервлети досить важливі лише для розуміння циклу запитів / відповідей, але вам не потрібно глибокого розуміння, щоб зробити стрибок до сторонньої системи.

Я великий фанат програми Stripes for Action (порівняно з компонентною рамкою), і єдина книга Stripes є відмінною (що робить вибір легким).

Я не можу запропонувати рамкову книгу компонентів, і я фактично не рекомендував би її вимикати. Компонентні рамки дійсно закопують структуру запиту / відповіді ядра HTTP. Вони поховають їх з причини, і вони отримують цінність, поховавши їх, але я вважаю, що для їх ефективності потрібно добре зрозуміти ці поняття на початку. Тому я не пропоную вивчити рамки компонентів спочатку.

Рамка JAX-RS REST, включена в Java EE 6, але легко встановлена ​​в Java EE 5 або будь-якому контейнері сервлетів, є чудовою. Можливо, саме таким повинен був бути сервлет 3.0. Але я не знаю жодної книги для цього.


2
Питання в тому, який стан серверів прикладних програм, коли ви готові до виробництва. Якщо даний проект займає 6 місяців, Oracle і JBoss, швидше за все, мають сервери, сумісні з JEE6, а у Resin, швидше за все, вийшов сервер веб-профілів JEE6.
— Thorbjørn Ravn Andersen

Що ж, JBoss виходить у грудні. Oracle лежить низько. Смол замовк щодо впровадження їх веб-профілю. Geronimo працює на веб-профілі з 3.0 (бета-версія). Glassfish знаходиться в 3.0.1, що дуже добре.
— Thorbjørn Ravn Andersen

5

Про Tomcat читайте посібник на веб-сайті. Це дуже добре. Зокрема, перші кілька глав про організацію та розміщення веб-додатків та глави про API сервлетів та JSP.

Для весни дуже добре підійде книга Меннінга «Весна в дії». Аналогічно для Hibernate (книга Меннінга), але я думаю, що Hibernate здебільшого виходить за межі веб-сайтів. Хоча ваш дзвінок.

Хвіртка - також книга Меннінга. Але насправді, просто напишіть свій передній код у Javascript. Це буде менш болісно, ​​ІМО.


3

Я не буду коментувати інші технології, але якщо ви хочете навчитися в сплячому режимі, отримайте "Спящий режим легкого" від Кемерона Маккензі (www.hiberbook.com). Варто кожної копійки. Ви можете закінчити читання цієї книги за 2 дні (буквально). це як роман, і в кінці ви виявляєте, що маєте справу зі сплячкою як напівпрофесіонал.


3

Jpassion пропонує хороші відео та матеріали для вивчення Java EE 6 та інших речей.

Ви також повинні побачити приклади програм:

  1. PetStore . Потрібен Maven, рекомендований Glassfish. Автор Антоніо Гонкальвес, який написав згадану книгу .
  2. JBoss Ticketmonster . Потрібна Maven & Jboss Forge . Розгортання в Jboss.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.