Сервлеты против фреймворков MVC [закрыто]

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

когда я смотрю глубоко, я также подумал о том, почему JSP / Servlets не используется после того, как другие веб-фреймворки (такие как Struts, Spring MVC и т. д.) показали свое существование?

Это потому, что последние веб-фреймворки

  1. делает большинство вещей самостоятельно?
  2. обеспечивает обширные характеристики которые не доступен с Servlet / JSP?
  3. или сервлет / JSP импотентен для доставки того, что делает последняя платформа?

любая помощь в виде ответов или ресурсов очень ценится.

2 ответов


я поделюсь некоторыми своими мыслями об этом.

  1. как сказано выше, эти рамки разработаны поверх Servlet / JSP.
  2. они предназначены, чтобы избежать дублирования кода (сухой).
  3. рамки на основе Шаблоны Проектирования - общее многоразовое решение для часто возникающих проблем.
  4. они помочь общаться вещи легко по всей команде и сделать их продуктивными и ориентированные на проблему уровня предприятия, они пытаются решить, чем эти общие задачи.
  5. они помогают в ускорение разработки путем предоставления общего решения к общеизвестным проблемам. (например, проверка формы, отдых, тестирование, инъекция зависимостей и т. д.)

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

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


Spring MVC по-прежнему работает с JSPs, и в его ядре он предоставляет не более чем простой сервлет диспетчера, который использует механизмы, предоставляемые Spring MVC framework (где вы регистрируете свои контроллеры в etc.). Я бы сказал, что речь идет об удобстве и делает вещи намного проще писать и поддерживать. Кроме того, вы можете легче реагировать на текущие события (например, RESTful services... вам придется закодировать все это вручную в сервлете). В конце концов, это то, что рамки за.