Я хочу получить объект ответа весной AOP перед советом. Если сеанс недействителен, я хочу перенаправить на страницу входа, но не смог получить объект HttpServletResponse в методе Before advice.Как я могу получить объект HttpServletRequest и HttpServletResponse в Spring AOP
Пробовал следующим образом.
@Autowired
private HttpServletResponse response;
public void setResponse(HttpServletResponse response) {
this.response = response;
}
StackTrace:
caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: javax.servlet.http.HttpServletResponse com.****.****.aspect.LogProvider.response; nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [javax.servlet.http.HttpServletResponse] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
... 33 more
Любая помощь будет оценена.
Вместо автоматического связывания, вы пробовали это? 'HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()). GetRequest(); ' –
Спасибо за ваш ответ. Я попробую с этим –
Мне нужен объект HttpServletResponse. –