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

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

Я закончил читать книги "Headfirst - Java" и "Headfirst - Servlets and JSP".

Поскольку эта тема (веб-приложения) очень большая и сложная, я хотел бы спросить, что я должен узнать дальше. Я чувствую переутомление, когда читаю такие ключевые слова, как Java EE, EJB, JSF, JPA, Glassfish... но я не сдамся.

Может кто-нибудь сказать, пожалуйста, как мне следует продолжить обучение? Должен ли я взять книгу, подобную этой: Начало платформы Java EE 6 с GlassFish 3: от новичка до профессионала, или я должен просто сделать некоторые онлайн-уроки?

Спасибо!

Ответы

Ответ 1

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

Ответ 2

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


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

Ответ 3

Java EE 6 действительно потрясающий. Единственная проблема заключается в том, что она составляет около 2 недель, и в ней есть только один контейнер, предлагающий в настоящее время его функции - Glassfish.

У меня нет ничего против Glassfish, я использую его повсюду, несколько экземпляров производства, мне нравится продукт и проект.

Тем не менее, детали Java EE 6 не переводятся обратно на Java EE 5. Некоторые из них делают, но это веб-профиль, сервлет 3.0, новые типы Bean, JPA 2 и т.д. t там.

Итак, сначала изучив 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 для рамки Action (vs component framework), и единственная доступная книга Stripes превосходна (выбор этого простого выбора).

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

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

Ответ 4

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

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

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

Ответ 5

Я не буду комментировать другие технологии, но если вы хотите узнать, что Hibernate получает "Hibernate Made Easy" от Cameron McKenzie (www.hiberbook.com). Это стоит каждого пенни. Вы можете закончить чтение этой книги через 2 дня (буквально). это похоже на роман, и в конце вы сталкиваетесь с Hibernate, как Semi-Pro.

Ответ 6

Jpassion предоставляет хорошие видео и материалы для изучения Java EE 6 и других вещей.

Вы также должны увидеть примеры приложений:

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

Ответ 7

Если вы просто хотите создавать веб-приложения на Java, ознакомьтесь с Play Framework. Он похож на "Ruby on Rails"