-
Struts, как Tomcat, Turbine и многие другие проекты Apache, является программным обеспечением с открытым исходным кодом, что является одним из его преимуществ. Позвольте разработчикам глубже понять внутренний механизм реализации. Платформа с открытым исходным кодом Struts была создана, чтобы облегчить разработчикам создание веб-приложений на основе технологий Java Servlet и JavaServer Pages (JSP). Платформа Struts предоставляет разработчикам унифицированную стандартную структуру. Используя Struts в качестве основы, разработчики могут больше сосредоточиться на бизнес-логике приложения. Сама платформа Struts представляет собой реализацию модели-представления-контроллера (MVC), использующую технологии Java Servlet и JavaServer Pages.
В частности, преимущества Struts:
1. Реализуйте модель MVC с четкой структурой, позволяющей разработчикам сосредоточиться только на реализации бизнес-логики.
2. Существует множество тегов, которые можно использовать. Библиотека тегов Struts (Taglib) может значительно повысить эффективность разработки, если ее можно использовать гибко. Кроме того, что касается отечественных разработчиков JSP, помимо использования общих тегов, поставляемых с JSP, они редко разрабатывают свои собственные теги. Возможно, Struts — хорошая отправная точка.
3. Навигация по страницам. Навигация по страницам станет направлением развития в будущем. Фактически, это сделает контекст системы более понятным. С помощью файла конфигурации вы можете понять связь между различными частями всей системы, что очень полезно для последующего обслуживания. Это преимущество становится еще более очевидным, когда проект берет на себя другая группа разработчиков.
4. Обеспечьте механизм обработки исключений.
5. Управление пулом подключений к базе данных
6. Поддержка I18N
недостаток:
1. При переходе на уровень отображения вам нужно настроить перенаправление. Каждый раз, когда вы переходите на уровень отображения, я считаю, что большинство из них идут непосредственно на jsp. Когда дело доходит до перенаправления, вам нужно настроить перенаправление, если их десять. jsps на уровне отображения вам необходимо настроить Struts десять раз, и это не включает в себя иногда изменения каталогов и файлов, которые требуют повторного изменения конфигурации. перераспределяется, и такой сервер, как tomcate, необходимо перезапустить. Если бизнес-изменения происходят в сложной и частой системе, такая операция невообразимо проста. Вот и все, десятки или сотни людей одновременно используют нашу систему онлайн. Вы можете себе представить, как я обеспокоен.
2. Действие Struts должно быть потокобезопасным, что позволяет обрабатывать все запросы только одному экземпляру. Таким образом, все ресурсы, используемые действиями, должны быть равномерно синхронизированы, что вызывает проблемы с безопасностью потоков.
3. Тестирование неудобно. Каждое действие Struts связано с веб-слоем, поэтому его тестирование зависит от веб-контейнера, а модульное тестирование также сложно реализовать. Однако существует инструмент расширения Junit Struts TestCase, который может реализовать модульное тестирование.
4. Преобразование типов. FormBean Struts обрабатывает все данные как тип String и может использовать инструмент Commons-Beanutils для преобразования типов. Но его преобразование происходит на уровне класса, и тип преобразования не настраивается. Также очень сложно возвращать пользователю сообщения об ошибках во время преобразования типа.
5. Слишком большая зависимость от сервлета. Struts должен полагаться на ServletRequest и ServletResponse при обработке действия, поэтому он не может избавиться от контейнера сервлета.
6. Что касается внешнего языка выражений, Struts интегрирует JSTL, поэтому для получения данных в основном используется язык выражений JSTL. Однако язык выражений JSTL очень слаб при обработке свойств коллекции и индекса.
7. Трудно контролировать выполнение действия. Когда Struts создает действие, будет очень сложно контролировать порядок его выполнения. Возможно, вам даже придется переписать сервлет, чтобы реализовать ваши функциональные требования.
8. Обработка до и после выполнения действия. Когда Struts обрабатывает действие, оно основано на иерархии классов. Трудно выполнять операции до и после обработки действия.
9. Недостаточная поддержка событий. В Struts форма фактически соответствует классу Action (или DispatchAction). Другими словами: В Struts форма фактически соответствует только одному событию. Этот метод события в Struts называется событием приложения. Событие представляет собой крупномасштабное событие по сравнению с событием компонента.
Важный объект формы Struts, ActionForm, представляет собой объект, который содержит как минимум несколько полей. Эти поля являются полями ввода в форме страницы Jsp, поскольку форма соответствует событию, когда нам нужно событие. Детализация уточняется до этих полей в форме, то есть, когда одно поле соответствует одному событию, невозможно просто использовать Struts. Конечно, этого можно добиться и за счет комбинирования JavaScript.
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/zhrl0000/archive/2009/12/17/5027947.aspx.
-