Моя реализация контроллера представления модели JavaEE - PullRequest
1 голос
/ 01 ноября 2011

Я хотел бы задать вопрос о том, как я решил реализовать шаблон MVC. для простого приложения javaEE (когда я говорю javaEE, я имею в виду чистый javaEE без каких-либо дополнительный фреймворк, так: сервлет, jsp ejbeans ...). Мой MVC работает следующим образом:

Актеры:

  • просмотр -> набор страниц JSP;
  • контроллер -> один сервлет;
  • модель -> набор неинстанцируемых классов Java, содержащих статические методы.

Функционирование: каждый запрос пользователя управляется сервлетом, который решает правильный статический метод для вызова среди классов модели. Особенно, каждая форма в jsps содержит 3 скрытых поля: classToCall, methodToCall и destionationPage. Как только сервлет получает сообщение http, он читает эти 3 скрытых поля и

  1. вызовите правильный метод в правильном классе с помощью отражения, передав HttpRequest в качестве параметра
  2. перенаправляет пользователя к правильному jsp, который отображает результат вычисления.

Мое основное сомнение касается реализации модели как «статических» классов: так как многие фреймворки обычно обрабатывают запросы пользователей, создавая компонент на лету и вызывая метод его экземпляра, я хотел бы знать, может ли моя "статическая" модель иметь какие-либо "Противопоказание".

Большое спасибо за вашу помощь, пока Нико

1 Ответ

0 голосов
/ 02 ноября 2011

:) вы можете использовать jsf 2.0, интегрированный в javaEE6 :) и чистый java ee:)

вот обзор: обзор javaEE 6

Донне пытайтесь заново изобрести это .. :) JSF 2.0 также имеет встроенный AJAX :) вам нужно только написать JSF, а не JSP ... :) или вы можете написать и ... JSP и JSF ... но я рекомендую вамтолько jsf

Но если вы хотите написать свои собственные ... Я не рекомендую использовать статические функции ...

  • не может быть переопределено
  • меньшеmodular

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

Вы можете увидеть больше ответов здесь: Когда НЕ использовать ключевое слово static в Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...