2009-10-01 4 views
7

Мне сложно охватить структуру Java MVC, когда кажется, что Servlets, JSP и легкий DAO будут делать все, что вам нужно, чтобы отделить контроллеры/представления/модели. Для PHP я вижу необходимость, так как нет встроенных конструкций, таких как сервлеты, но действительно ли Java MVC-фреймворки действительно дают вам ЭТО БОЛЬШЕ?Зачем использовать структуру MVC, когда будут работать сервлеты, JSP и легкий слой DAO?

ответ

8

Одна из областей, где сервлеты/JSP несколько слабые, является проверяемостью. Несмотря на то, что, конечно же, можно выполнить тестирование Serlets с использованием mocks, они не чувствуют, что они были разработаны с учетом модульного тестирования. JSP еще сложнее. Вы можете положиться на функциональные тесты ala Selenium, но в наши дни люди нуждаются в модульном тестировании. Некоторые из более современных фреймворков Java MVC дают вам более легко проверяемые модули кода.

В целом, вы, безусловно, правы, что простой старый стек Tomcat с базой данных MySQL выполняет свою работу.

3

Большинство веб-фреймворков абстрактные данные на низком уровне. Например, Wicket, Tapestry и JavaServer Faces позволяют вам думать о компонентах (например, кнопках, ярлыках, выпадающем списке и т. Д.) Вместо протоколов HTTP. Даже ориентированные на действие веб-фреймворки, такие как Spring MVC и Struts, вы получаете уровень выше, чем используемые технологии.

В качестве дополнительного бонуса эти рамки поставляются с дополнительными возможностями, такими как Ajax, Comet, интеграция с каркасами постоянства, которая работает из коробки.

Конечно, как указал Асаф, веб-каркасы обычно легче тестировать.