Можно ли создать веб-приложение на Java без использования фреймворка? - PullRequest
3 голосов
/ 14 февраля 2009

Если нет, то что такое хороший дружественный Java-фреймворк для новичков?

Я хочу создать что-то вроде твиттера.

Ответы [ 8 ]

14 голосов
/ 14 февраля 2009

Вы можете пройти очень длинный путь только с сервлетами и JDBC. Рассмотрим JSP, использующие JSTL, в качестве дополнительной тонкости.

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

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

Что бы вы ни делали, я думаю, что наличие разных слоев является ключевым. Не надо, чтобы сервлеты делали всю работу - они для обработки HTTP-запросов. Включите работу в классы обслуживания, которые ваши сервлеты могут просто вызывать. Таким образом, вы можете использовать эту логику. Храните постоянный код в своем собственном слое и не позволяйте ему проникать в другие. Вы можете использовать повторно используемые компоненты, которые выдержат ваши первые усилия. Если вы решите переключиться на веб-фреймворк, вы просто защелкнете эти слои на свои места и начнете.

Я написал свой первый значимый веб-сайт без каких-либо фреймворков - просто прямые сервлеты, JSP и JDBC. Это дало мне лучшее понимание того, что происходит. Я думаю, что это помогает.

10 голосов
/ 14 февраля 2009

Ознакомьтесь с Head First Servlets и JSP для ознакомления с основами создания веб-приложений на Java без с использованием сложных сред. Хорошо понимать, что происходит за кулисами, когда вы используете фреймворк, и эта книга - отличное введение.

HFS&JSP
(источник: oreilly.com )

6 голосов
/ 14 февраля 2009

Да, определенно. Java может показаться довольно парализующей со всеми ее фреймворками; тем не менее, вы, безусловно, можете создавать отличные веб-приложения, используя собственную инфраструктуру. При этом я считаю, что Spring - отличная среда для анализа, хорошо документированная и поддерживаемая.

4 голосов
/ 15 февраля 2009

Да, абсолютно. Давай, и не позволяй никому обескураживать тебя! Еще в тот же день, первый соло полет проект новый Java программист будет писать было бы что-то сосать порно с thehun.com. Я приветствую зрелость наших молодых программистов в эти дни.

3 голосов
/ 14 февраля 2009

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

2 голосов
/ 14 февраля 2009

Используя обычный jsp, вы действительно можете просто связать вместе несколько дополнительных классов, которые составляют вашу среду, что обычно означает какой-то фильтр сервлетов, который отображает URL-адрес в классе. Причина, по которой вы часто захотите сделать это, состоит в том, чтобы запустить некоторый код (ваш контроллер / действие) перед началом рендеринга.

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

1 голос
/ 14 февраля 2009

Всегда можно создавать приложения, веб или нет, без использования фреймворков.

Фреймворки могут помочь вам сократить объем кода, который вы на самом деле пишете. Фреймворки можно рассматривать как код на 25%, который является общим для любого веб-приложения (доступ к базе данных, управление сеансами, контроль доступа и т. Д.), И поэтому, если вы собираетесь писать этот код самостоятельно, хорошо; Но всегда имейте в виду, что вы можете сократить свою работу, используя любую доступную инфраструктуру.

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

Для Java вы можете использовать Struts или Spring Framework для создания приложений.

Вот длинный список каркасов веб-приложений на основе Java.

0 голосов
/ 14 февраля 2009

Я бы пошел с Spring MVC 2.5+, используя аннотации. Очень просто.

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