Веб-разработка EE Java, где я запускаю и в каких навыках я нуждаюсь? [закрытый]

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

Что точно я должен изучить?

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

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

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

Возможно, книга, которая касается всех их?

213
задан BalusC 13 June 2016 в 00:12
поделиться

7 ответов

(Обновленный сентябрь 2018)

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

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

Затем вы можете начать с JSP/Servlet, чтобы изучить основные концепции веб-разработки Java. Хорошие учебники можно найти в Oracle Java EE 5 tutorial part II главы 3 - 8 и на сайте Coreservlets.com (Beginner-Intermediate и Advanced, также JDBC). Обратите внимание, что начиная с Java EE 6, JSP удален из руководства Java EE в пользу JSF и что с тех пор JSP практически не изменился. Поэтому для этого можно смело использовать достаточно старый учебник Java EE 5. Самое важное в отношении JSP - это то, что написание простого Java кода в файлах JSP с помощью <% скриплетов %> официально не поощряется с 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 tutorial part VIII. Кроме того, EJB3 был значительно улучшен на основе уроков, извлеченных из весны. См. также Когда необходимо или удобно использовать Spring или EJB3 или все вместе?


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

Можно, но это много переизобретения колеса, когда дело доходит до привязки модели к виду (преобразование, валидация, смена слушателей и т.д.). Фреймворк MVC Java EE называется JSF. До Java EE 6 она работала на JSP, что является довольно унаследованной технологией просмотра. JSP был заменен на Facelets. JSF можно изучить в Java EE tutorial part III главы 7 - 17. Кстати, 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, содержащим скриплеты.

См. также:

252
ответ дан 23 November 2019 в 04:29
поделиться

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

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

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

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

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

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

Удачи и веселья!

5
ответ дан 23 November 2019 в 04:29
поделиться

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

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

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

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

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

Если вы готовы, я бы порекомендовал фреймворк Spring.

16
ответ дан 23 November 2019 в 04:29
поделиться

Есть ли в java MVC?

Java имеет различные фреймворки, такие как Struts2, Spring MVC

, а как насчет JSP?

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

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

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

beans?

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

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

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

String MVC - Взгляните на эти вопросы, рекомендующие книги для Spring и Spring MVC. - Рекомендации по книгам для весеннего каркаса и - Книги по весне: Кто из них выберет

Fremarker имеет очень хорошую документацию - FreeMarker Manual

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

alt text

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

13
ответ дан 23 November 2019 в 04:29
поделиться

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

Минимально,

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

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

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

Какие есть варианты для веб?

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

Я знаю, что существует спячка для ORM.

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

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

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

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

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

.
28
ответ дан 23 November 2019 в 04:29
поделиться

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

3
ответ дан 23 November 2019 в 04:29
поделиться

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

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

0
ответ дан 23 November 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: