Я хотел бы иметь 1 общий Servlet
, который обрабатывает запросы Ajax.
Я хотел бы реализовать это аналогично тому, что описано в этом ответе: Использовать сервлет для обработки запросов AJAX?
Т.е.: использовать шаблон фабрики в общем сервлете для создания экземпляра правильного объекта, который реализует (например) AjaxHandler
интерфейс.Затем вызовите метод интерфейса (например: performTask
).
Можно ли performTask
принять HttpServletRequest
и HttpServletResponse
объекты в качестве аргументов?
Я быхотел бы использовать запрос для получения параметров, и я хотел бы использовать ответ (например) sendError
из performTask
, если необходимо (например, если при обработке возникает какое-то исключение) (действительно ли это нормально до sendError()
изметод, которого нет в HttpServlet
?).
Есть ответы (такие как: Передача ответа сервлета http на моем уровне обслуживания - плохая практика? ), в котором говоритсячто плохая практика - передавать эти объекты в качестве аргументов, потому что это приводит к смешиванию слоев (веб-и служебных слоев).Тем не менее, мой AjaxHandler
интерфейс в этом случае является частью веб-слоя.
Поэтому мне было интересно, если это нормально / хорошая практика делать то, что я здесь изложил.