Java EE веб-разработки, где я начинаю и какие навыки мне нужны?

Я хочу узнать, по крайней мере на базовом уровне, о том, как создавать веб-приложения Java (исходя из фона .NET). Я хотел бы иметь возможность создавать, развертывать простое приложение типа CMS с нуля.

Что именно мне нужно изучить?

Tomcat кажется хорошим веб-сервером для Java.

Какие существуют варианты для Интернета? Я знаю, что существует Hibernate для ORM.

Есть ли в Java MVC? Что относительно JSP? Могут ли MVC и JSP быть вместе? NetBeans?

Может быть, книга, которая охватывает все эти?

Ответы

Ответ 1

(Обновлено сентябрь 2018 г.)

Что именно мне нужно выучить?

Я предполагаю, что вы уже знакомы с технологиями на стороне клиента, такими как HTML, CSS и JS, поэтому я не буду вдаваться в подробности. Я также предполагаю, что вы уже знакомы с базовой Java. Следуйте Oracle Java Tutorials и, если возможно, найдите книгу или курс OCA.

Затем вы можете начать с JSP/Servlet, чтобы изучить основные концепции веб-разработки на Java. Хорошие учебные пособия можно найти в главах 3–8 учебного руководства по Oracle Java EE 5 и на Coreservlets.com(Beginner-Intermediate и Advanced, также JDBC). Обратите внимание, что начиная с Java EE 6, JSP удален из учебника по Java EE в пользу JSF, и с тех пор JSP практически не изменился. Вот почему вы можете смело использовать довольно старый учебник по Java EE 5 для этого. Наиболее важным моментом в отношении JSP является тот факт, что написание простого кода Java в файлах JSP с использованием <% scriptlets %> официально не рекомендуется с 2003 года. См. Также Как избежать использования кода Java в файлах JSP? Поэтому любые учебники, которые все еще охватывают скриптлеты, следует пропустить, поскольку они определенно приведут вас в нисходящую спираль изучения плохих практик.

У нас также есть хорошие вики-страницы о 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?


Я знаю, что есть Hibernate для ORM.

Ранее, в эпоху J2EE, когда JPA не существовало и EJB2 был ужасен, Hibernate был автономной средой и часто использовался в сочетании с Spring для замены EJB. С момента появления JPA в Java EE 5 (2006) Hibernate стал реализацией JPA. Вы можете изучить JPA в учебном пособии по Java EE, часть VIII. Кроме того, EJB3 был значительно улучшен на основе уроков, извлеченных из Spring. См. Также Когда необходимо или удобно использовать Spring или EJB3 или все вместе?


Есть ли в Java MVC? Что насчет JSP? Могут ли MVC и JSP быть вместе? JavaBeans?

Вы можете, но это много переосмыслить колесо, когда речь идет о связывании модели с представлением (преобразование, проверка, изменение слушателей и т.д.). Фреймворк Java EE MVC называется JSF. До Java EE 6 он работал на JSP, который является довольно устаревшей технологией представления. JSP был заменен Facelets. Вы можете изучать JSF в главах 7–17 учебного курса по Java EE. Кстати, вы также можете использовать JSF на Tomcat, вам нужно только установить его отдельно. Инструкции по установке можно найти на домашней странице Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic и т.д., Будучи полноценной реализацией Java EE, уже предоставляют JSF (и CDI, BV, JSONP, JAX-RS, EJB, JPA и т.д.), Поэтому вам не нужно установить его отдельно. Смотрите также Как правильно установить и настроить библиотеки JSF через Maven?


Может быть, книга, которая охватывает все это?

Есть несколько книг. Я бы порекомендовал начать с книги, посвященной Java EE в целом, книги, более ориентированной на JSF, и книги, более ориентированной на JPA. Убедитесь, что вы выбрали самую свежую книгу по этой теме. Таким образом, не старая книга для Java EE 5 или JSF 1.0 или около того.

И последнее, но не менее важное: не обращайте внимания на сайты очистки фрагментов кода, поддерживаемые любителями, которые уделяют основное внимание доходам от рекламы, а не обучению, таким как roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava и т.д. Их легко узнать по нарушению рекламных ссылок/баннеры и фрагменты кода JSP, содержащие скриптлеты.

Смотрите также:

Ответ 2

Что именно мне нужно изучить?

Минимально,

  • Язык Java
  • Java API, включая JDBC для доступа к базе данных
  • IDE или текстовый редактор + Ant
  • Java EE, в основном, сервлеты и JSP
  • Контейнер сервлетов (например, Tomcat)

Tomcat кажется хорошим веб-сервером для Java.

Это "приличный". Если вы не участвуете в EJB, возможно, вам не нужно будет ничего узнавать. В последнее время Glassfish 3 выглядит довольно круто, но я еще не играл с этим много. Обратите внимание, что это "больше", чем веб-сервер. Это контейнер сервлетов (то есть он может запускать приложения с использованием технологии сервлетов).

Какие существуют варианты для Интернета?

О zillion различных фреймворках. Действительно, выбор одного действительно "трудный". Очень заманчиво попробовать их всех, но в итоге невозможно.

Я знаю, что для ORM существует спящий режим.

Я немного против ORM, но Hibernate - это то, что вам нужно, если вам нужен "полный" ORM. Вы также можете попробовать "частичные" ORM, такие как поддержка Spring JDBC или iBatis.

Есть ли у Java MVC? как насчет JSP? могут ли MVC и JSP быть вместе? beans?

Да, большинство веб-фреймворков Java делают MVC. Spring MVC хорош, но я не могу рекомендовать ничего другого (особенно, не Struts 1!). JSP - это всего лишь HTML (или XML) механизм шаблонов. Старая школа JSP, со встроенным кодом Java - uncool; современный JSP с файлами тегов и библиотеками довольно хорош.

Я полагаю, что большинство фреймворков позволят вам использовать JSP для рендеринга ваших Vs; Spring MVC и Struts делают. Некоторые также позволят вам использовать что-то еще (Velocity, Freemarker и т.д.).

Beans - это просто соглашение для объектов. В основном это означает, что вы используете геттеры и сеттеры (или некоторые альтернативы), и вы выполняете некоторые правила. Это должно позволить вашему объекту манипулировать определенными инструментами. Типичным примером является графический интерфейс, некоторые инструменты позволят вам создавать компоненты графического интерфейса для редактирования произвольного beans (т.е. Они будут отображать форму для редактирования своих полей).

Ответ 3

Вам нужны HTML, CSS и JavaScript - все обычные подозреваемые в веб-разработке.

В Tomcat встроен веб-сервер, но это сервлет/JSP-движок. Apache - это чистый веб-сервер.

Вам нужно изучить JSP, который является языком шаблонов для создания сервлетов, которые генерируют вывод HTML. Вы захотите написать их, используя JSTL, а не скриптлеты.

Если вы выполняете CRUD-приложения, вам нужно изучить JDBC и реляционные базы данных. Вы должны сделать это перед тем, как попробовать Hibernate или любой другой ORM, потому что это основа, на которой они построены.

JavaBeans - это просто стандарты для объектов Java.

Если вы для этого, я рекомендую структуру Spring.

Ответ 4

У Java есть MVC?

У Java есть разные фреймворки, такие как Struts2, Spring MVC

как насчет JSP?

JSP - это библиотека шаблонов. Есть несколько альтернатив, которые вы можете попробовать, как FreeMarker и Velocity. AFAIK Freemarker - хорошая библиотека шаблонов. Его легче, чем JSP. Проверьте этот FreeMarker: открытая альтернатива JSP - JavaWorld

могут ли MVC и JSP быть вместе?

Я принимаю MVC в качестве основы, упомянутой ранее. Все фреймворки имеют поддержку JSP, но вы должны проверить поддержку других библиотек шаблонов в соответствующей документации фреймворков. AFAIK Struts2 to имеет очень хорошую поддержку Freemarker.

фасоль?

Я не знаю много об этом. Но используя бины, мы можем напрямую отобразить данные формы в базы данных.

Может быть, книга, которая охватывает все это?

У каждого каркаса есть своя книга. Для Struts2 - Struts 2 в действии

String MVC - посмотрите на эти вопросы, рекомендуя книги для Spring и Spring MVC. Книжное предложение для Spring Framework и Spring Books: какой выбрать

У Fremarker очень хорошая документация - Руководство по FreeMarker

Для начала веб-разработки на Java -

alt text

http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596

Ответ 5

Я считаю, что большинство традиционных вариантов веб-разработки Java являются довольно тяжелыми, и есть несколько хороших альтернатив:

  • Play - это структура MVC, которая ориентирована на легкую, простую и обеспечивающую быстрое развитие - при этом придерживаясь чистой Java, в отличие от более динамичного JVM-языка. Это довольно новое, но уже впечатляющее, и хорошее сообщество быстро развивалось вокруг.

  • Grails - это структура MVC, вдохновленная Ruby on Rails, которая написана и использует Groovy, язык сценариев на основе Java. Grails является зрелым, надежным и широко уважаемым, с сильным сообществом. Groovy - это, по сути, надмножество Java, с лучшим синтаксисом и некоторыми замечательными функциями, такими как закрытие, поэтому изучение его - отличный способ изучить Java.

  • Если вам нужно/хотите создавать веб-сайты/службы/приложения RESTful, Restlet - это фантастическая основа - я Большой поклонник. Это простой, понятный, но гибкий. Великое сообщество тоже.

  • Google App Engine - интересный вариант. Он размещался, что может быть или не быть интересным, но имеет довольно простой API и хороший SDK.

Я уверен, что есть и другие, но это те, о которых я могу подумать с головы.

Удачи, и получайте удовольствие!

Ответ 6

Я программирование на PHP/C, и я нашел groovy возможность переходить на Java, не изучая все классы и парадигмы, присущие Java-программированию. groovy позволил мне быстро работать, занимая время, чтобы узнать больше о java и всех доступных инструментах/инфраструктурах/библиотеках.

Ответ 7

Если вы не хотите работать с html, css, xml, javascript и т.д.

Попробуйте Vaadin framework, он хорошо документирован, прост в освоении и позволяет сделать удобный пользовательский интерфейс простым способом. (просто напишите Java-код, конечно, вам нужен сервер сервлетов, Tomcat или Jetty будет в порядке)

Ответ 8

Лучше вы узнаете java.Then вы изучите Servlets и JSP. Затем перейдите на MVC, вы перейдете к Struts или Spring или к любой другой рамочной программе java/java.

Ответ 9

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

Хорошим онлайн-ресурсом является Sun Java Tutorial - http://java.sun.com/docs/books/tutorial/