Анастасия Волочкова
Заслуженная артистка России Прима-балерина Мариинского Театра, Большого театра, Английского национального балета, театра балета Юрия Григоровича. Обладательница приза «Золотой лев» и "Benois de la Danse".
Здравствуйте!
Недавно засел за Java, для создания веб-проекта. За месяц более-менее притёрся к основам и тут же остановился. Дело в том, что совсем нету информации по поводу веб-программирования на Java. Точнее есть, но искать всё это долго, а у меня случай такой - на работе нету инета, а дома нету времени. Книгу покупать тоже не хочется, ибо выкладывать по 700 рублей в месяц как то совсем накладно, по крайней мере до ближайшей зарплаты. Вот так, а терять время не хочется.
Собственно прошу Вас помочь мне в поиске туториалов на русском/английском языках. Такие, чтобы было и понятно и без лишней воды(хотя лучше с водой, чем совсем не понятно). Интересует именно разработка веб-приложений, а именно технологии сервлетов, аплетов, Java Server Pages, Еnterprise JavaBeans и прочее, о чём я, возможно, пока не знаю.
Наверняка, у матёрых программистов на Java есть этот материал, и если они поделятся, я буду очень признателен!
display_none: Я бы начал с изучения азов веба -- html и css. Например тут: http://www.w3schools.com/
Потом почитал бы про HTTP (например на citforum, или RFC если есть силы)
Потом -- спецификации сервлетов и JSP (они есть на сане, и очень (как это ни странно) читаемые).
Ну а потом бы попробовал разобраться с каким-нить контейнером, например томкатом (у него хорошая документация на самом сайте), хотя можно и нагуглить "OReilly Tomcat The Definitive Guide" -- его в сети много.
Туториалы по EJB, опять же, есть на сане.
хотя JSP и EJB совсем не обязательны для веб-приложений. Где-то в этом сообществе уже обсуждались (причем 2 раза за последние несколько месяцев) разные подходы к построению веб (GWT, струтс итд) -- можете ознакомится
anglerhood: Самый лучший туториал - это спецификация, как раз понятно и без лишней воды. Наверное у вас найдётся время выбрать нужное из списка: http://jcp.org/en/jsr/all
А скачанные pdf можно читать и на работе без интернета.
nakin: В самой Java-спецификации не так уж много средств для веб-приложений, по сути всего два: JSP и сервлеты. Изучить их для того, чтобы начать работать, можно за пару дней.
Реальные же веб-приложения строятся, как правило, на базе какого-нибудь Java web-application framework, а иногда сразу нескольких. Framework - надстройка над базовыми средствами Java (то есть сервлетами и JSP), их существует очень много и документацию ко ним всем не прочесть и за год. Поэтому Вы набросайте примерные требования к Вашему приложению, чтобы можно было подобрать framework и документацию к нему.
metakometa: Я думаю, вы так или иначе очень быстро разберетесь с сервлетами и JSP. Для разработчика на PHP эти технологии могут показаться тривиальными, так оно и есть - все проблемы начинаются тогда, когда вы пытаетесь построить работоспособную, цельную и поддерживаемую систему - вся мощь и красота Java в возможности с ее помощью создавать стройные и упорядоченные конструкции, разносить уровни, имеющие разную природу или предназначение. В этом же и опасность - легко начать писать тривиальный, "плоский" код, с которым потом невозможно управиться. Spring же предлагает довольно универсальный, гибкий каркас, который сам по себе подталкивает к тому, чтобы писать более-менее правильно.
Могу также порекомендовать Grails - в отличие от спринга, требуются минимальные первоначальные вложения для того, чтобы получить нечто работоспособное. Производительность бывших PHP-разработчиков, переучившихся на Grails поражает мое воображение. Специальных знаний Java не требуется, хотя этот фреймворк и построен целиком и полностью при помощи Spring-а. А если вы раньше ознакомились, например, с RoR, то вообще никаких проблем быть не должно. Польза от того, что Grails сделан на Java проявляется тогда, когда необходимо подключить его к существующей системе на Java или сделать какое-то распределенное решение.
Если вам нужно быстро получить что-то работающее - используйте Grails. В нем, если не будете копать глубоко, джаву вы вообще не будете видеть. Ну разве что придется почитать тот же Hibernate tutorial. Если хотите выучить Java и научиться делать что-то действительно гибкое - разбирайтесь со Spring.