Что нужно узнать о создании веб-приложений Java на Java EE 6? [закрыто]


103

Моя цель - создавать веб-приложения!

Я закончил читать книги «В первую очередь - Java» и «В первую очередь - сервлеты и 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 отсутствует ...
Паскаль Тивент,

4
@Stephen Ну, я действительно думаю, что есть большой пробел, особенно в веб-части (с сервлетом 3.0 или JSF 2.0 и управляемыми компонентами CDI).
Паскаль Тивент,

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 для уровня представления, изучите Hibernate для сохранения или нет, потому что мне не нравится ORM, используйте вместо этого iBatis или прямой JDBC (вы увидите, это круто со Spring, Spring так круто) и используйте Tomcat (и почему не Jetty) или JBoss, или просто забудьте все это и перейдите к Grails, и бла-бла-бла ... " .

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

Итак, поскольку я считаю, что 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 (не так много отсутствуют), в нем есть примеры кода, демонстрирующие все представленное, они действительно дидактические и позволяют углубиться в любую информацию. Возможно, в будущем появятся более специализированные книги, но это хорошая.
Паскаль Тивент,

23
+1, но Весна такая крутая :-)
ChssPly76

13
Не поймите меня неправильно, Stripes, Spring, Hibernate, ... великолепны. Но слишком большой выбор может сбить с толку при открытии чего-то нового, и я считаю, что Java EE 6 позволяет начать без них.
Паскаль Тивент,

9
Я согласен с вами, очень важно изучить стек JEE, даже если вы не будете его использовать, в конце концов, этот стек является базовым для всех великолепных фреймворков, которые делают вещи по-настоящему великолепными, например, Wicket построен поверх концепция Front Controller, которая в мире Java означает сервлеты и фильтры - если вы не знаете, как они работают, вы также не поймете, что делает Wicket! Если только вы не примете «магию»! в качестве ответа, конечно.
Esko

13
Четыре с лишним года спустя .... вы бы что-нибудь изменили в своем ответе?
jlars62 06

28

Мой совет №1 - перестать читать книги и начать что-то реализовывать. По моему опыту, книжное обучение - плохая замена тем знаниям, которые вы получаете, фактически делая что-то.


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


29
Но это может сэкономить вам дни поиска. Мог бы также дать вам достаточно знаний, чтобы отвечать на вопросы, вместо того, чтобы задавать их и в конечном итоге иметь здесь высокую репутацию, не так ли?
Мухаммад Гелбана

6
Нет, я не согласен. ОП уже прочитал две книги по Java / Java EE. Пора ему заняться программированием. FWIW, я получил большую часть своих знаний не из чтения книг. Скорее, я получил это ПЕРВИЧНЫМ образом, реализуя вещи и обращаясь к документации, когда мне было нужно. Вы не научитесь ездить на велосипеде, читая книги ... и вы не научитесь таким образом программированию.
Stephen C

3
Важно сбалансировать readingи practice.
smwikipedia

9

Java EE 6 действительно потрясающий. Единственная проблема заключается в том, что ему около двух недель, и в настоящее время есть только 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 хорошо раскрывает основы, моя главная жалоба в том, что они не показывают вам исходный код. Скорее они ожидают, что вы просто скачаете и запустите его. Это не обсуждается в руководстве. Я считаю, что книги Head First довольно хороши.

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

Я большой поклонник Stripes для фреймворка Action (по сравнению с компонентным фреймворком), и доступная книга single Stripes превосходна (что делает выбор легким).

Я не могу предложить книгу по фреймворкам компонентов, да и не стал бы рекомендовать ее сразу. Компонентные структуры действительно скрывают структуры запроса / ответа ядра HTTP. Они хоронят их по какой-то причине, и они получают ценность, закапывая их, но я считаю, что для того, чтобы быть эффективными, вам нужно иметь твердое понимание этих концепций на раннем этапе. Вот почему я не предлагаю сначала изучить структуру компонентов.

Платформа JAX-RS REST, включенная в Java EE 6, но легко устанавливаемая в Java EE 5 или любой контейнер сервлетов, превосходна. Возможно, это то, чем должен был быть Servlet 3.0. Но я не знаю книг по этому поводу.


2
Вопрос в том, в каком состоянии находятся серверы приложений, когда вы готовы к работе. Если данный проект займет 6 месяцев, Oracle и JBoss, скорее всего, имеют серверы, совместимые с JEE6, а Resin, скорее всего, имеет сервер веб-профиля JEE6.
Торбьёрн Равн Андерсен,

Что ж, JBoss выйдет в декабре. Oracle лежит низко. Ресин умалчивает о реализации своего веб-профиля. Geronimo использует Web Profile с версией 3.0 (бета). Glassfish отсутствует в 3.0.1, что действительно приятно.
Торбьёрн Равн Андерсен

5

Для Tomcat прочтите руководство на веб-сайте. Это очень хорошо. В частности, первые несколько глав об организации и развертывании веб-приложений, а также главы об API сервлетов и JSP.

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

Уикет - также книга Мэннинга. Но на самом деле просто напишите свой интерфейсный код на Javascript. Это будет менее болезненно, ИМО.


3

Я не буду комментировать другие технологии, но если вы хотите изучить Hibernate, возьмите «Hibernate Made Easy» Кэмерона Маккензи (www.hiberbook.com). Это стоит каждого пенни. Вы можете прочитать эту книгу за 2 дня (буквально). это похоже на роман, и в конце вы обнаруживаете, что имеете дело с Hibernate как с полупрофессионалом.


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.