Фильтры сервлетов (параметр для атрибута) - PullRequest
1 голос
/ 23 декабря 2010

У меня есть этот «зуд», я думаю, что пишу фильтр, который будет перехватывать запросы и извлекать параметры, а затем преобразовывать эти параметры в атрибуты, чтобы они поступали на уровень BusinessLogic (BO) в качестве типа объектов, которые им следуетбыть (например, Long, ObjectDTO, String и т. д.), в настоящее время я обращаюсь с тем, что BO получает запрос, извлекает параметры, выполняет проверку на nulls и преобразует их в соответствии с соответствующим типом.Является ли мой новый подход более удобным, я прочитал это Основы фильтров , а также хотел бы услышать больше случаев использования фильтров, чем те, которые упомянуты в статье.Причина, по которой я подумал об этом, заключается в том, что при работе с doGet пользователь может опустить параметры, поэтому я бы использовал фильтр, чтобы установить их, если они отсутствуют, какие-либо мнения?

1 Ответ

2 голосов
/ 23 декабря 2010

Многие веб-фреймворки делают что-то подобное.

Например, наряду со многими другими функциями фильтр Struts определяет, что Action вызывается запросом. Он использует отражение, чтобы определить свойства Action, доступны ли они для записи, и их тип. Затем он обрабатывает имя каждого параметра и, если он соответствует свойству действия, пытается привести значение параметра к экземпляру типа свойства. В случае успеха свойство Action устанавливается с результирующим значением. После правильной настройки Action фильтр вызывает его.

Процесс может показаться сложным, но на самом деле, я не оценил уровень сложности. Я бы посоветовал вам проверить, что существующие веб-фреймворки могут сделать для вас, прежде чем пытаться написать свой собственный. Даже если у вас нет бюджета и вы любите учиться на горьком опыте, изучение других фреймворков поможет вам заново изобрести лучший фреймворк.

...