Лучший способ использования JSP и сервлетов в веб-приложении MVC - PullRequest
3 голосов
/ 03 июля 2011

Я работаю над динамическим веб-сайтом на Java, и мне интересно придерживаться шаблона MVC.Каков наилучший способ разделить работу веб-приложения между JSP и сервлетами?

Должен ли я видеть мой файл JSP как view программы, а сервлет больше как controller?

Если я должен использовать сервлет в качестве controller, разумно ли дать сервлету более одной функциональности, например: отправьте серверу номер действия, и сервлет переключит регистр на него, чтобы решить, какое действиесделать.Таким образом, я могу создать очень мало сервлетов, и каждый будет отвечать за отдельный тип запросов.

Ответы [ 2 ]

6 голосов
/ 03 июля 2011

Должен ли я видеть мой JSP-файл как представление программы, а сервлет больше как контроллер?

Да.JSP лучше всего использовать для реализации представлений.

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

Если я должен использовать сервлет в качестве контроллера, то разумно ли дать сервлету несколько функций, например: отправить в действииномер в сервлетов и сервлет переключит дело на него, чтобы решить, какие действия делать.

Это более спорно.Вы можете иметь небольшое количество сервлетов и переключаться внутри сервлета или иметь большое количество сервлетов и переключаться в файле "web.xml" или в некоторых классах инфраструктуры.Например, многие люди используют инфраструктуру рестлетов и / или аннотации для управления отправкой запросов к сервлетам контроллера.


Мой общий совет:

  • Не пытайтесь кодировать еще один фреймворк.Их уже много, и хотя бы один из них должен быть достаточно хорошим.
  • Не переоценивайте.
0 голосов
/ 03 июля 2011

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

Вы можете использовать старые добрые java / jsp и при этом иметь хорошо организованный проект. Вот ссылка на проект, который я упомянул. Я просто ограничил каждую страницу ОДНЫМ вызовом функции методом псевдоконтроллера, который возвращал модель, необходимую для страницы. Единственный другой код Java на страницах был для шаблонов.

Вот исходный код проекта, посмотрите, если хотите.

http://net -machine.com / indefero / р / LSMS / источник / дерево / ведущий / SRC

...