Шаблон Front Controller: централизованная обработка запросов
Last updated: 10 мая 2025 г.Вся суть паттерна Front Controller
в том, что все запросы обрабатываются централизовано через одно место.
То есть любой запрос сначала идет в Front Controller, далее Front Controller определяет в какой другой обработчик или View перенаправить запрос и, собственно, перенаправляет.
Приведем пример сервлета, который будет играть роль Front Controller-а
, который принимает запросы и форвардит через RequestDispatcher
на какую-то вьюху.
1import java.util.*;
2import java.io.IOException;
3import java.io.PrintWriter;
4
5import javax.servlet.*;
6import javax.servlet.http.*;
7import javax.servlet.annotation.*;;
8
9@WebServlet("/FrontControllerServlet")
10public class FrontControllerServlet extends HttpServlet {
11 protected void doPost(HttpServletRequest req,
12 HttpServletResponse resp)
13 throws ServletException, IOException {
14 //Пусть Front Controller проверяет присланные
15 //POST запросом в него параметры и если они
16 //соответствуют тому что в equals то Front Controller
17 //перенаправляет отправившего запрос
18 //на страницу SomePasswordValue, также и сам запрос(req)
19 //туда перенаправляться с помощью forward.
20 if (req.getParameter("password").equals("JohnSmith") &&
21 req.getParameter("login").equals("SomePasswordValue")) {
22 RequestDispatcher rd=
23 req.getRequestDispatcher("/welcomePage.jsp");
24 rd.forward(req, resp);
25 }
26 //в ином случае на страницу errorPage
27 else {
28 RequestDispatcher rd=
29 req.getRequestDispatcher("/errorPage.jsp");
30 rd.forward(req, resp);
31 }
32 }
33}
Следующие уроки
Шаблон Template: поведение по умолчанию
14
мин.
Что такое Spring Framework и зачем он нужен
20
мин.
Внедрение зависимостей с помощью сеттера.
17
мин.