(Обновлено марта 2020 г.)
Прежде всего, «Java EE» с сентября 2019 года был переименован в « Jakarta EE », начиная с версии 8. Исторически существовал также термин «J2EE», который охватывал версии 1.2 до 1.4. «Java EE» охватывал версии 5–8. См. Также Java Platform, Enterprise Edition, History in Wikipedia .
Что именно мне нужно выучить?
Я предполагаю, что вы уже знакомы с технологиями на стороне клиента, такими как HTML , CSS и JS , поэтому я не буду вдаваться в подробности. Я также предполагаю, что вы уже знакомы с базовой Java. Следуйте инструкциям Oracle по Java и, если возможно, получите книгу или курс по OCP .
Затем вы можете начать с JSP / Servlet, чтобы изучить основные концепции веб-разработки на Java. Хорошие учебные пособия можно найти в главах 3–8 учебного руководства по Java EE 5 Oracle и на Coreservlets.com ( Beginner-Intermediate и Advanced, также JDBC ). Обратите внимание, что начиная с Java EE 6, JSP удален из учебника по Java EE в пользу JSF, и с тех пор JSP практически не изменился. Вот почему вы можете смело использовать для этого довольно старый учебник по Java EE 5. Наиболее важным в отношении JSP является тот факт, что написание простого кода Java в файлах JSP с использованием <%
скриптлетов %>
официально не рекомендуется с 2003 года. См. Также Как избежать использования кода Java в файлах JSP? Поэтому любые уроки, которые все еще охватывают скриптлеты, следует пропустить, поскольку они определенно приведут вас в нисходящую спираль изучения плохих практик.
Здесь, в Stack Overflow, вы также можете найти хорошие вики-страницы о JSP , сервлетах , JSTL и EL, где вы можете изучить основы и найти более полезные ссылки.
Tomcat, кажется, хороший веб-сервер для Java.
Это. Однако он ограничен в возможностях. По сути, это пустой сервлет-контейнер, реализующий только части JSP / Servlet огромного Java EE API. Если вы когда-нибудь захотите использовать EJB или JPA, вам нужно выбрать другой, например WildFly , TomEE , Payara , Liberty , WebLogic и т. Д. В противном случае вам придется использовать Spring вместо Java EE. А именно, невозможно установить EJB в контейнере с сервлетами без модификации ядра ядра, в случае с Tomcat вы будете изобретать TomEE заново. Смотрите также Что такое Java EE? , Как правильно установить и настроить JSF библиотеки через Maven? и как установить и использовать CDI на Tomcat?
Я знаю, что есть Hibernate для ORM.
Ранее, в эпоху J2EE, когда JPA не существовало и EJB2 был ужасен, Hibernate был автономной платформой и часто использовался в сочетании с Spring для замены EJB. С момента появления JPA в Java EE 5 (2006) Hibernate стал реализацией JPA. Вы можете изучать JPA в учебном пособии по Джакарте EE, часть VIII . Кроме того, EJB3 был значительно улучшен на основе уроков, извлеченных из Spring. См. Также Когда необходимо или удобно использовать Spring или EJB3 или все вместе?
Есть ли в Java MVC? Что насчет JSP? Могут ли MVC и JSP быть вместе? JavaBeans?
Вы можете , но это много изобретает колесо, когда речь идет о связывании модели с представлением (преобразование, проверка, изменение слушателей и т. Д.). Среда MVC в Java EE называется JSF . До Java EE 6 он работал на JSP, который является довольно устаревшей технологией представления. JSP был заменен Facelets . Вы можете изучать JSF в учебном пособии по Джакарте, часть III, главы 7–17 . Кстати, вы также можете использовать JSF на Tomcat, вам нужно только установить его отдельно. Инструкции по установке можно найти на домашней странице Mojarra, WildFly, TomEE, Payara, Liberty, WebLogic и т. Д., Будучи полноценной реализацией Java EE, уже предоставляют JSF (и CDI, BV, JSONP, JAX-RS, EJB, JPA и т. Д.), Поэтому вам не нужно установить его отдельно. Смотрите также Как правильно установить и настроить библиотеки JSF через Maven?
Может быть, книга, которая охватывает все это?
Есть несколько книг. Я бы порекомендовал начать с книги, посвященной Джакарте в целом , книги, в большей степени посвященной JSF , и книги, в большей степени посвященной JPA . Убедитесь, что вы выбрали самую свежую книгу по этой теме. Сначала исследуйте самую последнюю доступную версию, а затем убедитесь, что выбранная книга охватывает это. Таким образом, определенно не выбирайте старую книгу для Java EE 5 или JSF 1.0 или около того, хотя в настоящее время уже доступны Jakarta EE 8 и JSF 2.3.
И последнее, но не менее важное: не обращайте внимания на сайты очистки фрагментов кода, поддерживаемые любителями, которые уделяют основное внимание доходам от рекламы, а не обучению, таким как roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava и т. Д. Их легко узнать по нарушению рекламных ссылок / баннеры и фрагменты кода JSP, содержащие скриптлеты .
Смотрите также:
Минимально,
Это "прилично". Если вы не увлекаетесь EJB, вам, вероятно, не нужно будет больше ничего изучать. Glassfish 3 в последнее время выглядит довольно круто, но я пока не играл с ним. Обратите внимание, это «больше», чем веб-сервер. Это контейнер сервлетов (то есть он может запускать приложения с использованием технологии сервлетов).
Около миллиарда разных рамок. Действительно, выбрать один действительно «сложно». Очень заманчиво попробовать их все, но в конечном итоге это невозможно.
Я немного против ORM, но Hibernate - это то, что вам нужно, если вам нужна "полная" ORM. Вы также можете попробовать «частичные» ORM, такие как поддержка Spring JDBC или iBatis.
Да, большинство веб-фреймворков Java поддерживают MVC. Spring MVC хорош, но я не могу рекомендовать ничего другого (особенно, не Struts 1!). JSP - это просто шаблонизатор HTML (или XML). Старая школа JSP со встроенным Java-кодом не крутая; современный JSP с файлами тегов и библиотеками довольно хорош.
Я полагаю, что большинство фреймворков позволит вам использовать JSP для рендеринга ваших V; Spring MVC и Struts делают. Некоторые позволят вам использовать что-то еще (Velocity, Freemarker и т. Д.).
Бобы - это просто соглашение для объектов. По сути, это означает, что вы используете геттеры и сеттеры (или некоторые альтернативы) и соблюдаете некоторые правила. Это должно позволить вашему объекту манипулировать определенными инструментами. Типичным примером является GUI, некоторые инструменты позволят вам создавать компоненты GUI для редактирования произвольных bean-компонентов (т.е. они будут визуализировать форму для редактирования ее полей).
источник
Вам нужны HTML, CSS и JavaScript - все обычные подозрения для веб-разработки.
У Tomcat есть встроенный веб-сервер, но это движок сервлета / JSP . Apache - это чистый веб-сервер.
Вы должны изучить JSP, который является языком шаблонов для генерации сервлетов, которые генерируют вывод HTML. Вы захотите написать их, используя JSTL, а не скриптлеты.
Если вы работаете с CRUD-приложениями, вам необходимо изучить JDBC и реляционные базы данных. Вы должны сделать это, прежде чем пытаться использовать Hibernate или любой другой ORM, потому что это основа, на которой они построены.
JavaBeans - это просто стандарты для объектов Java.
Если вы готовы, я бы порекомендовал среду Spring.
источник
У Java есть различные структуры как Struts2 , Spring MVC
JSP - это библиотека шаблонов. Есть несколько альтернатив, которые вы можете попробовать как FreeMarker и Velocity . AFAIK Freemarker - это хорошая библиотека шаблонов. Его легче, чем JSP . Проверьте этот FreeMarker : открытая альтернатива JSP - JavaWorld
Я принимаю MVC в качестве основы, упомянутой ранее. Все фреймворки поддерживают JSP, но вы должны проверить поддержку других библиотек шаблонов в соответствующей документации фреймворков. AFAIK Struts2 к имеет очень хорошую поддержку Freemarker.
Я не знаю много об этом. Но используя бины, мы можем напрямую отобразить данные формы в базы данных.
У каждого каркаса есть своя книга. Для Struts2 - Struts 2 в действии
String MVC - взгляните на эти вопросы, рекомендуя книги для Spring и Spring MVC. Книжное предложение для Spring Framework и Spring Books: какой выбрать
У Fremarker очень хорошая документация - Руководство по FreeMarker
Для начала веб-разработки на Java -
http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596
источник
Я считаю, что большинство традиционных вариантов веб-разработки на Java довольно тяжелые, и есть несколько хороших альтернатив:
Play - это инфраструктура MVC, которая ориентирована на облегчение, простоту и ускорение разработки - при этом придерживаясь чистой Java, в отличие от более динамичного языка на основе JVM. Он довольно новый, но уже впечатляющий, и вокруг него быстро сформировалось хорошее сообщество.
Grails - это инфраструктура MVC, вдохновленная Ruby on Rails, которая написана и использует Groovy , язык сценариев на основе Java. Grails зрелый, крепкий и широко уважаемый, с сильным сообществом. Groovy - это, по сути, расширенный набор Java, с лучшим синтаксисом и некоторыми замечательными функциями, такими как замыкания, поэтому изучение его - отличный способ изучения Java.
Если вам нужно / вы хотите создавать веб-сайты / сервисы / приложения RESTful , Restlet - фантастическая структура - я большой поклонник. Это просто, просто и гибко. Отличное сообщество тоже.
Google App Engine также интересный вариант. Он размещен, что может представлять интерес, а может и не представлять, но у него довольно простой API и хороший SDK.
Я уверен, что есть и другие, но это те, которые я могу придумать не покладая рук.
Удачи и приятного времяпровождения!
источник
Я программирую на PHP / C, и я нашел отличную возможность перейти на Java без изучения всех классов и парадигм, присущих Java-программированию. Groovy позволил мне быстро продуктивно работать, затрачивая время, чтобы больше узнать о java и всех доступных инструментах / инфраструктурах / библиотеках.
источник
Если вы не хотите работать с HTML, CSS, XML, JavaScript и т. Д ..
Попробуйте Vaadin Framework, он хорошо документирован, прост в освоении и позволяет легко и просто создавать красивый интерфейс. (просто напишите код Java, конечно, вам нужен сервер сервлетов, Tomcat или Jetty будут в порядке)
источник
Лучше вы изучаете java. Затем вы изучаете сервлеты и JSP. Затем, переходя на MVC, вы переходите в Struts или Spring или в любую другую инфраструктуру с поддержкой java / java.
источник
Поскольку вы новичок в Java, я настоятельно рекомендую вам сначала изучить базовый язык. Это поможет вам независимо от того, какую технологию вы выберете для своего веб-приложения.
Хорошим онлайн-ресурсом является Sun Java Tutorial - http://java.sun.com/docs/books/tutorial/
источник