Сервлеты против фреймворков MVC [закрыто]
Я очень часто сталкиваюсь с этим вопросом, почему у нас есть много веб-фреймворков, занимающихся теми же или подобными недостатками.
когда я смотрю глубоко, я также подумал о том, почему JSP / Servlets не используется после того, как другие веб-фреймворки (такие как Struts, Spring MVC и т. д.) показали свое существование?
Это потому, что последние веб-фреймворки
- делает большинство вещей самостоятельно?
- обеспечивает обширные характеристики которые не доступен с Servlet / JSP?
- или сервлет / JSP импотентен для доставки того, что делает последняя платформа?
любая помощь в виде ответов или ресурсов очень ценится.
2 ответов
я поделюсь некоторыми своими мыслями об этом.
- как сказано выше, эти рамки разработаны поверх Servlet / JSP.
- они предназначены, чтобы избежать дублирования кода (сухой).
- рамки на основе Шаблоны Проектирования - общее многоразовое решение для часто возникающих проблем.
- они помочь общаться вещи легко по всей команде и сделать их продуктивными и ориентированные на проблему уровня предприятия, они пытаются решить, чем эти общие задачи.
- они помогают в ускорение разработки путем предоставления общего решения к общеизвестным проблемам. (например, проверка формы, отдых, тестирование, инъекция зависимостей и т. д.)
когда вы разрабатываете крупномасштабное корпоративное приложение и над ним работают несколько разработчиков, вам определенно нужно некоторое единообразие по проекту/коду / структуре каждого разработчика пишущий. Принудительные внешние принуждения ненадежны, но когда они построены, это помогает сделать проект простым в обслуживании, масштабировании и легко новым людям быть продуктивными с ним в течение короткого времени.
Я считаю, что это правило применяется не только для servlet-jsp, но и для JavaScript. Просто собственный JavaScript или даже низкоуровневые JavaScript API / библиотеки недостаточно при создании пользовательского интерфейса корпоративного масштаба. Либо принять наилучшую доступную структуру, либо абстрагироваться общий характер и сделать его основой (не библиотекой).
Spring MVC по-прежнему работает с JSPs, и в его ядре он предоставляет не более чем простой сервлет диспетчера, который использует механизмы, предоставляемые Spring MVC framework (где вы регистрируете свои контроллеры в etc.). Я бы сказал, что речь идет об удобстве и делает вещи намного проще писать и поддерживать. Кроме того, вы можете легче реагировать на текущие события (например, RESTful services... вам придется закодировать все это вручную в сервлете). В конце концов, это то, что рамки за.