Що навчитися робити веб-додатки 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.