Heim  >  Artikel  >  Java  >  Gewöhnliche Spring-Klassen erhalten Sitzungs- und Anforderungsobjekte

Gewöhnliche Spring-Klassen erhalten Sitzungs- und Anforderungsobjekte

(*-*)浩
(*-*)浩nach vorne
2019-08-31 15:07:382158Durchsuche

Wenn Sie Spring verwenden, müssen Sie häufig Sitzungs- und Anforderungsobjekte in normalen Klassen abrufen.

Wenn Sie beispielsweise bei einigen AOP-Interceptor-Klassen struts2 verwenden, können Sie das Sitzungsobjekt problemlos über org.apache.struts2.ServletActionContext abrufen, da struts2 über eine Schnittstelle verfügt.

Gewöhnliche Spring-Klassen erhalten Sitzungs- und Anforderungsobjekte

Verwendung:

ServletActionContext.getRequest().getSession();

Wie erhält man in den normalen Klassen traditioneller Java-Spring-Projekte eine Sitzung und eine Anfrage?

1. Fügen Sie den folgenden Code zu web.xml hinzu:

<listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

2. Sie können Sitzung und Anforderung direkt in normale Klassen einfügen

@Autowired
private HttpSession session;
 
@Autowired
private HttpServletRequest request;

Darüber hinaus in After the Listener Im ersten Schritt können Sie auch Code verwenden, um das erforderliche Objekt abzurufen:

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

Wenn Sie sich in einem Spring-Boot-Projekt befinden und keine web.xml vorhanden ist, müssen Sie den Listener nicht manuell im registrieren Erster Schritt: Sie können Sitzungen und Anfragen direkt in normale Klassen einbinden.

Das obige ist der detaillierte Inhalt vonGewöhnliche Spring-Klassen erhalten Sitzungs- und Anforderungsobjekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen