Spring を使用する場合、通常のクラスでセッション オブジェクトやリクエスト オブジェクトを取得する必要があることがよくあります。
たとえば、一部の AOP インターセプター クラスでは、struts2 を使用する場合、struts2 にはインターフェイスがあるため、org.apache.struts2.ServletActionContext を使用してセッション オブジェクトを簡単に取得できます。
使用法:
ServletActionContext.getRequest().getSession();
従来の Java Spring プロジェクトの通常のクラスでは、どのようにしてセッションとリクエストを取得するのでしょうか?
1. 次のコードを web.xml に追加します:
<listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener>
2. 通常のクラスにセッションとリクエストを直接挿入できます
@Autowired private HttpSession session; @Autowired private HttpServletRequest request;
さらに、リスナーの後最初のステップでは、コードを使用して reuqest オブジェクトを取得することもできます。
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Spring Boot プロジェクトにいて、web.xml がない場合は、リスナーを手動で最初のステップ: 通常のクラスにセッションとリクエストを直接注入できます。
以上がSpringの通常クラスはセッションとリクエストオブジェクトを取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。