Окружающая среда:Использование HttpServletRequest в Spring Service Layer
Spring MVC 3
Угловой JS
Tomcat 6
Выпуск:
Мы миграции устаревших приложений от struts2
до spring MVC REST
с угловым JS как пользовательский интерфейс. Это типичный SPA.
Типичный поток приложения: контроллер Угловая JS + Spring REST + Service слой
Бизнес-логика Struts2 действий перемещается на классы обслуживания.
Мой вопрос - Каков правильный способ сделать объект HttpServetRequest доступным для классов обслуживания весной?
два варианта доступны:
1) Pass HttpServletRequest
методу контроллера Spring MVC. Пройдите то же самое HttpServetRequest
до уровня обслуживания Spring. Но это приведет к HttpServletRequest
быть частью интерфейса обслуживания, как -
public ProductDto getProductDetails(HttpServletRequest req,int productId)
Является ли это правильный путь? Может ли HttpServletRequest
быть частью сервисного интерфейса?
2) Использование Spring предусмотрено API:
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Пожалуйста, руководство по этому вопросу?
Если мы хотим получить более тонкий доступ к зерну для запроса объекта, например, получить/задать запрос/сеансовые атрибуты, тогда подход выше будет достаточно – Atul