Для текущего проекта, над которым я работаю, я решил использовать шаблон переднего контроллера. У меня всегда создалось впечатление, что фронт-контроллер должен (в конечном счете) нести ответственность за все, что происходит в веб-приложении. Неужели слушатели нарушают этот шаблон?Java Servlets - вопросы о контролере (Listeners & Context)
public class MyDatabase implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
...
String driver = context.getInitParameter("driver");
}
}
Это, конечно, кажется намного проще, чем:
public class FrontController extends HttpServlet {
public void service (....) {
MyDatabase db = new MyDatabase(context.getInitParameter("driver"));
}
}
Это очень упрощенный пример; на практике будет больше параметров. Итак, какой фрагмент будет считаться более верным шаблону переднего контроллера - передача конфигурации с FrontController
вниз или предоставление конфигурации непосредственно классам?
Поскольку я новичок в Java, я пытаюсь изучить сервлеты, не используя рамки (пока).
Не думайте, что это связано с вопросом, но в первом случае вы инициализируете источник данных, соединение и т. Д. Только один раз, то есть при инициализации контекста. Во втором случае это действие будет повторяться для каждого запроса, если все запросы направляются через FrontController. – NINCOMPOOP