Java для начинающих Web-разработка инструментария/среды
Мне было поручено разработать интерактивный веб-сайт с использованием java & mysql: использование сервлетов для извлечения и массажа данных, апплетов для специальной обработки данных на стороне клиента и для обработки запросов от клиента для различных представлений данных.
Что бы вы рекомендовали в качестве надлежащего инструментария общего назначения / среды для веб-разработки с использованием java.
Мне нужно знать, что использовать для следующее:
- сервер (кот?/?)
- CMS
- редактор / IDE
- общие инструменты/коммунальные услуги
- направленные (специального назначения) инструменты / утилиты
- тестирование и QA инструменты/утилиты/техники
- справочный материал (Как on- & off-line)
пожалуйста, оцените предлагаемые решения и поставляйте альтернативы/улучшения/поддержку.
рекомендуемая Веб-разработка Java toolkit / environment
By cdb:
-
сервер:
Tomcat6 -
CMS:
Drupal (не обязательно на предварительном этапе) -
редактор / IDE:
NetBeans (хорошо для новичка) -
общие инструменты:
(Почти все в NetBeans... иди за ней позже) -
направлено (специальный цель):
(Почти все в NetBeans... иди за ней позже) -
тестирование и QA:
JUnit и используйте Firebug (сначала выполните ручное тестирование) -
ссылка на материал:
Серия головой на страницы JSP, JavaScript и т. д.
SCRIBD (online)
[редактировать]
-
основа:
Spring Web MVC 2.5 - (это, кажется, содержит большинство других фреймворков)
варианты дистиллированные из ответов
сервер
- Apache Tomcat- "среда веб-сервера HTTP для запуска кода Java"
- причал - "сервер HTTP, клиент HTTP и javax.контейнер сервлета"
- GlassFish - сервер приложений (на основе Tomcat + больше особенности)
- от JBoss - сервер приложений ("сервер приложений на основе J2EE реализован на 100% чистой Java")
CMS
редактор / IDE
общие инструменты/коммунальные услуги
- Maven - ".. инструмент, который теперь можно использовать для создания и управления любым проектом на основе Java."
- log5j и здесь[SourceForge] - "библиотека журналов java для Java версий 5 и выше"
направлено (специального назначения) инструменты/утилиты
- CruiseControl - team based "инструмент и расширяемая платформа для создания пользовательского непрерывного процесса сборки"
- Весенние Рамки (- design)
тестирование и QA инструменты/утилиты/техники
- Watij - "Java API, созданный для автоматизации веб приложения"
- HtmlUnit - "он моделирует HTML-документы и предоставляет API, который позволяет вызывать страницы, заполнять формы, нажимать ссылки и т. д..."
- Палий - (Firefox)"редактирование, отладка и мониторинг CSS, HTML и JavaScript живут на любой веб-странице"
- Гудзон- " создание / тестирование программных проектов [...] Мониторинг выполнения заданий внешнего запуска"
- LiveHttpHeaders - смотреть & редактировать заголовки http-запросов live
- JUnit - "рамки для написания повторяемых тестов"
справочный материал (Как on- & off-line)
- Список Только - "для людей, которые делают сайты"
- Java -сайт tij
6 ответов
-
сервер
Tomcat6 -
CMS
Друпал (не обязательно в фазе prilim) -
редактор / IDE
NetBeans (хорошо для новичков) -
общие инструменты/коммунальные услуги
(Почти все в NetBeans... иди за ней позже) -
сразу (специальное назначение) инструменты/утилиты
(Почти все в NetBeans... иди за ней позже) -
тестирование и QA инструменты/утилиты/техники
JUNIT и использовать Палий (сначала выполните ручное тестирование) -
справочный материал (Как on- & off-line)
HeadFirst Series on JSP, JavaScript и т. д.
SCRIBD (online)
для веб-разработки я использую (и рекомендую) следующие:
- JSP/Servlet API
- Весна MVC
- в jQuery
- XHTML & CSS
- FitNesse в
Что касается ресурсов, все эти технологии хорошо документированы на их соответствующих сайтах, единственным исключением является XHTML & CSS, для которого я бы предложил http://www.alistapart.com.
касаемо редактора IntelliJ и (я считаю) Eclipse имеют очень хорошие редакторы HTML, CSS, JSP и JavaScript.
также используйте Firefox (как предложил Брайан) с плагином веб - разработчика и Firebug-оба они незаменимы.
Tomcat и Jetty - это хорошо известные / поддерживаемые контейнеры сервлетов. Если вы создаете развертываемый для клиентов, вы можете протестировать оба, если вы не контролируете развертывание.
для тестирования проверьте (вместе с вашими обычными тестовыми фреймворками JUnit / TestNG)Watij и/или HtmlUnit. Это позволит вам автоматизировать фактические взаимодействия в интернете / браузере и избавит вас от горя в долгосрочной перспективе. Недостатком является то, что вы придется потратить некоторое время на создание тестов.
связанные с автоматизированными тестами, я думаю, вам нужна автоматизированная система сборки / непрерывной интеграции. Многочисленные изобилуют в мире Java. Два распространенных -CruiseControl и Гудзон.
для многих из вышеперечисленных стандартных инструментов Java/development применяется, например, "стандартные" IDEs (Netbeans/Eclipse/Intellij - Intellij стоит заплатить, кстати). То же самое относится к CMS и есть много ресурсы на этом сайте о плюсах и минусах SVN/Git / Mercurial и др. Стоит проверить, что ваш выбор CMS интегрируется с вашей IDE.
Я бы проверил Firebug для упрощения разработки (в Firefox). Это делает разработку front end намного проще. LiveHttpHeaders облегчит диагностику проблем, связанных с передачей HTTP.
CMS
- Черепаха SVN
редактор / IDE
- затмение
общие инструменты/коммунальные услуги
- Maven (инструмент сборки и развертывания)
- Круиз-Контроль
- GWT / ext-GWT / ICEFaces-технология веб-компонентов
- Spring-dependency injection framework
- Hibernate - ORM
- Axis 2.0 Web service development kit
- от JBoss
направленные (специального назначения) инструменты / утилиты
- log5j-для ведения журнала
тестирование и QA инструменты/утилиты/техники
- Watij
- Firebug
- QTP for automated testing
- Junit Perf (Junit test cases for performance testing.)
справочный материал (Как on- & off-line)
- Java docs каждой из технологий
- Google конечно:)
попробовать в VCL.js все в одном (передний конец и бэкэнд) инструмент веб-разработки предприятия,
- библиотека визуальных компонентов-включает страницу, сетку, вход, датчики, диаграммы и многое другое
- Чистый JavaScript
- одностраничное приложение
- .Net Backend
- привязка данных
- Twitter bootstrap
- простое выполнение запросов к базе данных
- маршрут
- AMD-модуль погрузчик
Я думаю, идея в том,что вам не нужно изучать jquery, Sammyjs или любой другой фреймворк
первый абзац отредактирован запросом slashmais: этот ответ на самом деле не совпадает с другими, а перефразированный вопрос. Это скорее дополнение к другим ответам. Я считаю, что личные предпочтения очень важны при выборе между технологиями. Я вижу это как (dis)нравится некоторые вещи и выбор технологий, которые соответствуют. Остальная часть ответа дает примеры:
например, предположим, я верю в действия разработчика должны быть проверены в режиме реального времени как можно больше, чтобы получить немедленную обратную связь, а также завершение, если это возможно, и избежать ранних ошибок. Это (dis)симпатия определяет некоторые предпочтения:
- используйте язык статического типа (например, java)
- используйте IDE, которая компилируется при вводе (например, Eclipse)
- любой Xml должен быть проверен через строгий xsd. Если содержимое содержит ссылки на другую информацию (например, код java), затем его следует проверить (например, Spring checking for bean classes).
- для технологии просмотра, поскольку это зависит от моего кода java, я должен иметь проверку, которая включает мой фактический код java. Идея может заключаться в кодировании моего представления на Java. (как калитка).
- мои свойства должны быть в файлах свойств для перевода. Но использование строковых ключей в моем коде (или представлении) неприемлемо. Я бы запустил небольшой инструмент, который создает перечисления java из каждого файла свойств, и мой код ссылка на перечисления.
- ... и так далее
другой пример, предположим, я сильно предпочитаю "соглашение по конфигурации". То есть я согласен следовать строгим правилам в своем проекте, получая гораздо меньше сантехники вручную (потому что значения по умолчанию подходят):
- Maven является инструментом сборки выбора. Это наложит много ограничений, но также предоставит из коробки много функций "сборки"...
- для веб приложение, Я не мог использовать Struts 1, потому что они являются этими огромными файлами конфигурации в struts-config.xml, в основном с кодом сантехники. Я бы определенно переключился на что-то вроде Spring MVC, у которого есть значения по умолчанию для сопоставления URL-адресов контроллерам.
- и так далее ...
другой пример, предположим, я так верю в Модель-Вид-Контроллер разделение, для ясности и повторного использования, что я хочу растянуть его немного. Я мог бы использовать:
- в представлении я бы четко отделил свою модель (чистый Html, без форматирования, без скрипта), мое представление (или форматирование, только внешний css) и мой контроллер (javascript, используя непротиворечивую политику javascript).
- в webapp я мог бы использовать Spring MVC для разделения этих слоев.
- в бизнесе (этот пример немного ограничен : -)), я мог бы иметь богатую модель домена, широко использовать шаблон команды ("контроллеры") и экспонируйте явно мои бизнес-сервисы как API интерфейса ("вид").