Один или несколько сервлетов на веб-приложение?

Вот что сработало для меня

  1. Apple-Shift-F, поиск CFBundleExecutable
  2. Нажмите каждый, кроме «PODS» или вашей основной цели
  3. Удалить его (удалить ключ)

27
задан Mnementh 13 November 2008 в 07:34
поделиться

3 ответа

Большинство веб-платформ использует сервлет диспетчера (исключая: MVC Spring), который заботится о запросах маршрутизации к соответствующим классам/контроллерам.

, Когда Вы начинаете иметь много страниц, этот подход работы лучше всего, потому что у Вас есть более удобный для пользователя путь (в отношении web.xml) объявления/управления класса, который обрабатывает запросы HTTP и его URL. Пример (пружина mvc снова):

@Controller
public class MyController {
 @RequestMapping("/viewPosts")
 public void doViewPosts(HttpRequest r, HttpResponse res) {
  //...
 }
}

Кроме того, наличие сервлета диспетчера сохраняет Ваш поток кода централизованным.

9
ответ дан Miguel Ping 14 October 2019 в 15:01
поделиться

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

таким образом, если Вы используете плоскость servlet/JSP для создания сайта. Если Вы используете платформу, любят распорки, Вы найдете, что они реализуют шаблон фронтального контроллера и используют единственный сервлет, который получает все запросы и передает эти запросы к классам действия, которые реализуют фактическую логику пользовательского запроса. это намного более твердо сделать себя, но это - хорошая практика... причина, почему столько людей использует эти платформы.

, Таким образом, короткий ответ, Вы создадите много сервлетов на веб-приложение, так как каждое веб-приложение представит несколько вариантов использования.

[РЕДАКТИРОВАНИЕ], Перечитывающее Ваш вопрос, кажется, как будто Вы используете термин сайт для значения страницы или представления. Снова, это зависит от того, что происходит на том представлении. Например, Для отображения новейшей записи в блоге у Вас может быть сервлет, который создает список из записей от базы данных для дисплея. Если пользователь нажимает на запись тогда, другой сервлет может получить тот однократный въезд для просмотра и так далее. Главным образом каждое действие является вариантом использования поэтому различный сервлет.

11
ответ дан Vincent Ramdhanie 14 October 2019 в 15:01
поделиться

Это зависит.

В моих последних проектах, я реализовал единственный сервлет, который делегирует к нескольким подобным сервлету объектам, которые инстанцируют способом внедрения зависимости. Например, у меня есть что-то вроде этого в моем сервлете (псевдокод):

for(Handler handler : handlers) {
    if(handler.handle(request, response)) {
         return;
    }
}

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

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

не Были для этого, я пойду с несколькими сервлетами, хотя существует компромисс; любой у Вас есть огромная сеть xml с партиями (и партиями) отображений сервлета или у Вас есть очень сложный сервлет (если Вы не используете что-то как мой подход d-i).

3
ответ дан alex 14 October 2019 в 15:01
поделиться
Другие вопросы по тегам:

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