Что является лучшим путем или потоком для изучения Java с точки зрения веб-сайта? - PullRequest
4 голосов
/ 08 января 2011

Я только начал изучать Java, и у меня около 8 месяцев.Моя главная цель - создать веб-приложение с использованием Java.Но так как есть много доступных технологий / фреймворков Java, я не уверен, как мне использовать IDE, которую я использую, это eclipse

Путь, который я думаю ниже

1)Learn Core Java
2)Project: Build Java Invoicing System with JDBC or mysql to test java knowledge

3)Learn Servlets / JSP to 
4)Build small site like simple logon/memberarea/catalogue using servlets/jsp

Теперь, ребята, я действительноне знаю, где на моем пути стоят следующие вещи и какие вещи им помогут

1)Java EE
2)Spring or spring MVC, what's the difference?
3)Hibernate
4)Wicket
5)Struts

Я действительно не знаю, как мне учить их и какие вещи выбирать.

каким должен быть мой последний проект, который можно построить, используя те, потому что, если я увижу с моей текущей стадии, даже веб-сайт может быть построен с использованием servlets / jsp.тогда зачем мне нужны эти другие технологии

Может ли кто-нибудь привести пример проекта, который можно построить с использованием новых технологий без использования jsp / servlet, чтобы я мог понять, зачем нам это нужно?

Ответы [ 4 ]

8 голосов
/ 08 января 2011

Здесь есть чему поучиться, так что я бы поняла это по очереди.Я предполагаю, что вам относительно комфортно работать с языком Java и основными API.

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

Изучите основные API JDBC (Connection, PreparedStatement, ResultSet) и напишите некоторый код, который использует их для удобства.

Узнайте о том, кактранзакции работают в базах данных, если вы еще не знакомы и как их использует JDBC (Connection.commit и откат)

Далее вы можете заглянуть в среду Spring.Это имеет несколько полезных функций, которые пригодятся при создании этих приложений.Основные из них, чтобы узнать функциональность внедрения зависимостей и библиотеки JDBC, которые она имеет.Материал DI немного "дух"?если вы не использовали его раньше, но это очень полезно / мощно, особенно для приложений среднего размера +.Библиотеки JDBC помогают справляться с необработанными API-интерфейсами JDBC и делают ваш код менее подверженным ошибкам.

Как только вы разберетесь с некоторыми базовыми вещами JDBC и Spring, вы можете начать использовать вебframework.

Это сложнее, потому что их так много.В интересах быстрого начала работы, я бы, наверное, пошел с Wicket.Он работает в контейнере сервлетов, таких как Jetty, его легко настроить и запустить с одной или двумя основными веб-страницами, а также относительно легко развить проект с течением времени, не спускаясь слишком много тупиков.Я обнаружил, что фреймворки, такие как JSF (фреймворк web / view по умолчанию для Java EE), требуют значительных предварительных инвестиций.Большинство из этих фреймворков, включая Wicket, могут использовать все вышеперечисленное.

Избегайте JSP, это непривлекательная технология и устарела практически во всем остальном.

Чтобы ответить на некоторые другие ваши вопросыpoints.

Hibernate - это инструмент для отображения объектной модели в реляционную модель.В его основной форме вы определяете класс Java для каждой таблицы БД, причем класс имеет одно свойство Java (переменная + получатель + установщик) для каждого столбца БД.Вы также можете добавить ссылки из одного класса в другой для моделирования отношений с базой данных.Это хорошо, но к этому нужно привыкнуть.

Весна, которую я частично объяснил выше.Spring намного больше, чем просто DI и некоторые библиотеки JDBC.Он также имеет библиотеки управления транзакциями и кучу других вещей.Spring MVC - это веб-фреймворк, который живет под зонтиком Spring и использует множество библиотек Spring внутри.Я никогда не использовал его, поэтому не могу высказать свое мнение.

Java EE - это общий термин для большого набора «корпоративных» спецификаций / библиотек.JSF - это инфраструктура веб-представления, являющаяся частью Java EE.

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

Надеюсь, это поможет.В Интернете есть много информации по всем этим темам, и вы всегда можете задать вопросы здесь по более конкретным вопросам, если вам нужна помощь.Удачи и наслаждайтесь!

РЕДАКТИРОВАТЬ (для комментария):

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

В итоге

  • Изучение JDBC / транзакций / баз данных является обязательным
  • Spring не обязателен, но я настоятельно рекомендую.Spring - большая библиотека, но вы можете выбирать нужные вам биты.
  • Веб-фреймворки - выбор за вами.Из того, что я пробовал (JSF / JSP / Wicket), Wicket - самый простой способ начать работу, поэтому вы не тратите слишком много времени на получение первоначальной настройки.JSP ужасен, с ним очень легко запутаться.JSF является мощным, но тяжелым и, вероятно, больше подходит для очень предприимчивых проектов, чем первое веб-приложение.
  • Hibernate не является обязательным, но может упростить жизнь просто потому, что вы можете работать с объектами Java, когда выполняете запросы / обновления БД, а ненаписание утомительных операторов вставки / обновления.Hibernate не единственный инструмент, подобный этому, но это тот, который я использовал больше всего и хорошо выполняет свою работу.Только не стоит слишком зацикливаться на «умных» функциях гибернации.

Вы можете легко использовать Spring MVC вместо Wicket.Это может быть очень хорошим выбором, я сам не использовал Spring MVC, поэтому не могу комментировать.Я уверен, что он хорошо интегрируется с весенними вещами, так что это, безусловно, будет положительным фактором.

Если вы не уверены, проведите еще какое-то исследование, ведь нет конца людям, которые будут рады высказать свое мнение!Но на самом деле нужно просто окунуться и попробовать что-то.

6 голосов
/ 08 января 2011

Вы правы.Если все ваши приложения обслуживаются сервлетами, JSP и JDBC, то, возможно, вам не нужно больше ничего изучать.

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

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

1) Java EE

Вы изучаете (частично) Java EE, когда используете сервлеты, JSP и JDBC.Они являются подмножеством полного механизма Java EE - EJB, JMS, JNDI и т. Д.

2) Пружина или пружина MVC, в чем разница

Spring - альтернативафреймворк, разработанный Родом Джонсоном и Springsource, который теперь является частью VMWare, основан на внедрении зависимостей, аспектно-ориентированном программировании и модулях фреймворка.Spring web MVC - это один модуль в среде Spring, основанный на сервлетах, который выступает в качестве внешнего интерфейса для веб-приложений.

3) Hibernate

Объектно-реляционныйтехнология отображения (ORM), построенная на основе SQL и JDBC, которая позволяет отображать объекты в таблицы.Он имеет свой собственный объектно-ориентированный язык запросов.

4) Wicket

Другая веб-MVC альтернатива Spring MVC, Struts, JSF и т. Д.

5) Struts

Первый веб-фреймворк MVC.Он прошел версии 1.0 и 2.0 и теперь поддерживается Java Server Faces.Это все еще используется, хотя.Как и все другие веб-фреймворки MVC в Java, он основан на сервлетах и ​​JSP.

4 голосов
/ 09 января 2011

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

По правде говоря, до 2006 года стандартная структура имела плохую репутацию и некоторые чувства, составляющие основудля рекомендации альтернативных технологий все еще основаны на этом.Начиная с версии 5, Java EE значительно улучшилась.Последняя версия, Java EE 6, возможно, является одной из лучших фреймворков Java, которые когда-либо существовали.Конечно, лучший - это очень субъективный термин, и, естественно, он не будет лучшим для всех и каждого.

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

В большинстве случаев EJB, CDI и JSF заменяются альтернативными технологиями.Например, основной контейнер Spring заменяет EJB и CDI, а Spring MVC заменяет JSF.Полный стек Spring обычно по-прежнему использует JPA, JTA, JMS и сервлет из Java EE.Wicket, в свою очередь, заменяет только JSF, или при использовании со стеком Spring заменяет Spring MVC.

Hibernate является особым случаем.Он не заменяет ничего из Java EE, но вместо этого часто используется как реализация для одного из ключевых API Java EE: JPA.Первоначальный создатель Hibernate, Гэвин Кинг, является одним из главных сторонников инфраструктуры Java EE и фактически является лидером по спецификации одной из самых важных частей современного Java EE: CDI.

Wicket сам по себеэто очень хороший веб-фреймворк, но на практике он используется не так часто, как JSF.Я не буду вдаваться в дискуссию о том, является ли Wicket или JSF «лучше» (это в основном религиозная битва в любом случае), но из-за популярности JSF с этим просто связано больше людей, и существует большое сообщество, предлагающее много вещейдля JSF-подобных библиотек компонентов и расширений.

Struts исторически был полностью заменен JSF.Первоначальный создатель или Struts, Крейг Макклэхэн, был тем, кто начал JSF как преемник Struts.Тем не менее, Struts был когда-то абсолютным стандартом де-факто для веб-фреймворков на Java.Его не часто рекомендуют использовать для новых проектов, но до сегодняшнего дня он все еще используется в огромном количестве существующих приложений.Таким образом, хотя освоение Struts anno 2011 не очень «горячо», его знание может оказаться весьма практичным для тех случаев, когда вам необходимо поддерживать существующие приложения.

ps

См. Этот ответ для общего ознакомления.описание Java EE: Фреймворки для многоуровневых архитектур многократного использования

1 голос
/ 08 января 2011

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

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

Сначала я определю цель, которую вы хотите достичь.ИМХО, хороший способ мотивировать вас сделать это правильно - взять небольшой проект, который поможет вам решить небольшую проблему.

Затем я бы начал с Java Server Pages (JSP) и сервлетов, чтобы понять основные понятия.,Затем вы можете попробовать сделать то же самое с несколькими хорошо известными платформами веб-приложений, например, Wicket.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...