JSP к отношению сервлета

Существуют многие, много примеров в книгах, и в Интернете о том, как использовать Сервлеты в качестве JSPs. Но я хотел бы знать что лучший способ пойти об использовании их с умом к хорошей архитектуре.

Должно быть непосредственное отношение Сервлетов к JSPs? Действие как страницы "Code - Behind" ASP.NET?

Или больше как ASP.NET MVC, с единственным Сервлетом, управляющим несколькими действиями и передающим нескольким представлениям?

Это - вопрос относительно чистого Java разработка EE. Просто не предлагайте другую платформу.

5
задан Arjan Tijms 7 May 2013 в 20:43
поделиться

4 ответа

Как насчет этого? Я сделал это в одном из своих школьных проектов:

alt text http://img576.imageshack.us/img576/3064/mvci.jpg

Это было мое предположение, основанное на моем понимании сервлетов и JSP. Я хотел бы получить ваши комментарии и идеи по улучшению этого.

2
ответ дан 14 December 2019 в 04:29
поделиться

Должно быть однозначное отношение сервлетов к JSP? Действуют как страницы с выделенным кодом ASP.NET?

Зависит. Это доступно для небольшого веб-сайта с 3-5 страницами, но помимо этого он будет генерировать много шаблонного кода, который вы почти закончите с доморощенным фреймворком MVC при разумном рефакторинге всего этого дублированного кода.

Или больше похоже на ASP.NET MVC, с одним сервлетом, управляющим несколькими действиями и перенаправляющим на несколько представлений

Это более рекомендуется при наличии веб-приложения небольшого размера. Аналогом ASP.NET MVC для Java является, кстати, JSF (JavaServer Faces). Это чистая Java EE, предоставляющая инфраструктуру MVC на основе компонентов, которая предоставляет FacesServlet в качестве единственного контроллера , так что вы можете получить только класс Javabean как модель и страницу JSP (или, в последнее время) Facelets как view . Facelets? Да, начиная с JSF 2.0, старый JSP был заменен на Facelets в качестве технологии просмотра по умолчанию. Facelets основан на XHTML.

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

См. Также:

5
ответ дан 14 December 2019 в 04:29
поделиться

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

Что мне лично нравится, так это использование сервлетов в качестве контроллеров, а затем, после обработки HTTP REQUEST, рендеринг ответа (HTML) с одной или несколькими JSP страницами. ASP.NET "Code-Behind" не применяется, поскольку CODE-BEHIND - это один к одному связь с соответствующим ASPX файлом. AFAIK, вы не можете рендерить один "код позади" ASP.NET с разными страницами ASPX.

В любом случае, это не простой вопрос, но по моему опыту, просто старые подходы Servlets+JSP обычно чище, проще и менее глючные, чем любой другой фреймворк, построенный на их основе (Struts, JSF и многие другие).

1
ответ дан 14 December 2019 в 04:29
поделиться
  • JSP - это сервлеты (замаскированные). Каждый jsp преобразуется и компилируется как сервлет. Посмотрите в каталоге / work вашего tomcat, например,
  • JSP - это технология просмотра, то есть они упрощают написание повторно используемых страниц.
  • JSP следует использовать только для отображения результатов, предварительно вычисленных обычным сервлетом, помещается в запрос / сеанс и перенаправляется на соответствующий jsp.
0
ответ дан 14 December 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: