Подтвердить что ты не робот

Почему я должен учиться и использовать стойки?

Я разработчик Java, но не опытный, но я хорошо знаком с большинством концепций.

Недавно я создал веб-сайт с использованием Tomcat/JSP (~ 30 динамических страниц). Я сделал ошибку новичков, включив в JSP большие разделы основной логики, используя рационализацию, что это "просто простой проект".

Я усердно учился. Поэтому я перестраиваю приложение сейчас в движке Google, используя сервлеты, и планирую использовать Velocity для его реализации с использованием шаблона проектирования Model-View-Controller.

Я также смотрю на Struts, но раньше не использовал фреймворк.

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

Существует ли чистая стоимость дополнительной кривой обучения с помощью стойки, будут ли выгоды перевешивать затраты? Или будет ли использование Velocity достаточно для выделения логики? Мнения?

4b9b3361

Ответ 1

Я бы посмотрел более длительный срок, чем этот проект. Как вы видели, в первый раз, когда вы используете какую-либо технологию, в основном о том, чтобы делать ошибки и учиться у них. Таким образом, этот первый проект вряд ли станет ярким примером использования Struts, как только вы закончите.

Использование Struts (и Плитки из того, что вы указываете, было главной проблемой: копирование и вставка JSP), однако, будет отличным вниканием в "правильный" MVC, то есть он заставляет вас делать что-то особенно структурированным образом и Мне очень понравилось, я был большим фанатом Стэттов.

Тем не менее, существуют другие варианты, например. Spring содержит Spring MVC плюс многое другое. Если вы собираетесь инвестировать в преодоление кривой обучения, подумайте о том, какая структура в наибольшей степени принесет вам пользу в среднесрочной перспективе: какие рамки работодатели в вашем регионе, как правило, ищут? В этот момент я поеду с Spring, где я чувствую, что это импульс, но Struts очень хорош в том, что он делает.

Ответ 2

Если вы собираетесь изучить структуру, я бы рекомендовал Spring MVC над Struts. Кривая обучения не слишком крутая, и в Интернете доступно множество ресурсов Spring.

Как только у вас будет Spring, вы обнаружите, что ваше приложение намного проще поддерживать и поддерживать. Вы также сможете добавлять улучшения, такие как безопасность, намного проще.

Ответ 3

Во-первых: не позволяйте имени путать вас: Struts2 и Struts - это очень разные рамки.

Второе: переход с JSP на Velocity может быть хорошим или плохим делом, но это не совсем так. Дело в том, чтобы отказаться от Model1 (довольно древняя номенклатура, но все же полезна). То есть, развязка слоя вашего уровня с вашего логического уровня. (Вы можете использовать JSP или Velocity для вашего уровня просмотра). Кроме того, чтобы определить, что ваш уровень просмотра - это всего лишь часть вашей архитектуры, вы все равно должны решить, кто будет обрабатывать запрос и создавать данные, которые будут отправлены в представление. Самый простой вариант - использовать простые сервлеты, но, опять же, лучше использовать некоторую фреймворк. Для этого в Java существует много фреймворков. "Основанные на действии" - это подмножество среди них, возможно, самое простое для изучения. Среди них самым старым является Struts; сегодня наиболее используемые для новых проектов (в определенном порядке) Struts2, Spring MVC и Stripes - они очень похожи.

Ответ 4

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

Изучение структуры (на самом деле нескольких фреймворков) также стоит того, но я бы не выбрал Struts в качестве первой структуры, если только она не используется вашим работодателем или потенциальным работодателем. Если ваш работодатель использует Struts, я надеюсь, что это Struts 2, так как Struts 1 становится древним.

Рамка, с которой я больше всего работаю, - это Wicket, но это радикальный сдвиг от того, что вы сейчас смотрите. SpringMVC также определенно стоит посмотреть.

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

Ответ 5

Почему вы должны изучать Struts? Мой ответ: потому что работодатели часто требуют знания об этом, особенно для поддержания старых проектов. Я не делал никаких точных измерений, но я думаю, что в моем регионе JSF и Struts чаще всего используются для разработки веб-приложений.

Struts - довольно старая веб-фреймворк, и довольно неудобно писать с ней современные графические интерфейсы AJAX, поэтому создавались лучшие фреймворки. JSF для меня немного менее неуклюжий, но также имеет некоторые проблемы. Моими любимыми веб-фреймами являются Vaadin и GWT, но я ничего не предлагаю для вас - вы должны принять решение самостоятельно.