Ну, это не совсем специфично для сервлетов, но больше относится к Java / OOP (объектно-ориентированному программированию) в целом. Фактически вы можете сделать все в одном методе, даже в методе main()
. Но сотни или более строк в одном методе на самом деле не читаемы, не обслуживаемы, не пригодны для повторного использования и не проверяются в течение длительного времени. Прямо сейчас вы, вероятно, только начинаете с Java, и вам, вероятно, не нужно ничего делать, кроме этого, но если вам когда-нибудь понадобится дублировать (почти) одинаковые строки кода, тогда пришло время провести рефакторинг. Извлеките переменные из повторяющихся строк кода и оберните эти строки новым методом, который принимает эти переменные в качестве аргументов и выполняет простую одношаговую задачу.
В общем, вы бы хотели заранее разбить большую задачу на отдельные подзадачи, используя отдельные и повторно используемые классы и методы. В вашем случае, например, вы можете иметь один класс DAO для всех задач взаимодействия с БД, общий вспомогательный класс XML для преобразования Javabeans в XML и наоборот с помощью XSL и (возможно) объекта домена для управления вводом / выводом. обработка (преобразование / проверка / обработка ошибок / ответ) и выполнение действий. Запишите на бумаге, как большая картина должна быть достигнута в маленьких одиночных задачах. Каждое задание часто можно так же хорошо выполнить одним методом. Сгруппируйте методы с одинаковыми обязанностями и / или одинаковыми общими данными в одном классе.
Чтобы пойти дальше, для нескольких задач могут быть доступны сторонние инструменты, облегчающие задачу. Я могу представить, например, XMLBeans и / или XStream , чтобы выполнить преобразование Javabean <-> XML. Это уже сэкономило бы много стандартного кода и, вероятно, также шаг XSL.
Тем не менее, предложение Даффимо загрузить XSL только один раз является очень хорошим. Вам не нужно повторно выполнять точно одну и ту же задачу, которая снова и снова не зависит от параметров запроса снова и снова для каждого запроса, это только неэффективно.