Comment puis-je obtenir HttpServletRequest et HttpServletResponse objet au Printemps de l'AOP

Je veux obtenir la réponse de l'objet au printemps AOP avant des conseils. Si la session est invalider je veux rediriger vers la page de connexion, mais impossible d'obtenir la HttpServletResponse objet dans l'Avant des conseils de méthode.

Essayé avec la manière suivante.

    @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

Toute aide sera appréciée.

  • Au lieu de permettra à l'autowiring, avez-vous essayé? HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest();
  • Merci pour votre réponse. Je vais essayer avec cette
  • Il m'a fallu l'objet HttpServletResponse.
  • Désolé, mal lu votre question.
  • Utiliser un Filter ou HandlerInterceptor qui est mieux adapté à cette tâche. Ou de l'utilisation de Ressort de Sécurité qui gère beaucoup plus pour vous.
  • J'ai utilisé le Filtre de la première session sera nulle donc je redirige l'utilisateur vers la page de connexion, ne permettant pas de connexion aussi. Je vais essayer avec le HandlerInterceptor
  • Fixer votre filtre pour exclure la page de connexion.