Используйте Struts или пользовательский контроллер - PullRequest
1 голос
/ 25 августа 2011

Я занимаюсь разработкой Ajax-приложения, в котором пользователь никогда не уходит с одной и той же страницы.Тем не менее, на сервер будут поступать десятки различных видов вызовов, и я уверен, что это приложение будет добавлено в будущем.Для каждого из этих вызовов мне нужно проверить, чтобы убедиться, что пользователь (A) вошел в систему (B) имеет достаточные разрешения для своего запроса, а затем заполнить бин hibernate, а затем преобразовать его в JSON, XML илисообщение об ошибке / вход в систему.

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

Controller extends Servlet
{
    status = checkLogin()
    if(status == SUCCESS)
        status = checkPermissions()
    if(status == SUCCESS)
        status = validateCommand()
    if(status == SUCCESS)
        bean = factory()
    if(status == LOGIN)
        promptLogin()
    else if(status == ERROR)
        toError(status)
    else if(isJson)
        toJson(bean)
    else
        toXml(bean)
}

Я чувствую, что это послужит моим целям и будет проще / меньше, но я вовсе не эксперт по Java, поэтому буду признателен за некоторые советы по этому вопросу.Моими основными приоритетами являются масштабируемость и обслуживание.Может быть, есть лучшая структура, которую я должен использовать?Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

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

  • Безопасность
  • Несколько действий пользователя
  • JSON / Распределение полезной нагрузки

Чтобы ответить на ваш конкретный вопрос, Struts2 может легко удовлетворить все эти требования, используя Перехватчики (для таких вещей, как безопасность), Действия (суть MVC в S2) и Плагины (для ваших ответов JSON). Однако, если вы разрабатываете это приложение с нуля и у вас есть некоторые технические возможности, безусловно, есть и другие жизнеспособные варианты, такие как JSF (с библиотекой компонентов, такой как PrimeFaces ), Wicket и многие другие.

0 голосов
/ 25 августа 2011

Алекс, идея использовать любой фреймворк, будь то Struts2 / Spring MVC, заключается в том, чтобы убрать общий код и позволить разработчику сосредоточиться на бизнес-логике, как и в случае с вами и в будущем, как вы уже упоминали, что он может расти сложная часть, так что всегда лучше использовать любую из существующих структур и позволить им обрабатывать цикл потока запросов, и вы сосредоточитесь на бизнес-логике

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

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