[SPRING] POJO 클래스에서 Servlet Request 객체 가져 오기
SPRINGPOJO 클래스에서 Servlet Request 객체 가져 오기
Acegi 클래스에서 호출되고있는 POJO에서 현재 페이지 URL을 가져와야합니다 (작업중인 앱에 대한 사용자 정의 논리를 추가해야 함) HttpServletRequest를 검색하여 하위 도메인을 가져올 수 있어야합니다. URL (논리가 기초한).
내가 추가하려고 :
@Autowired
private HttpServletRequest request;
...
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletRequest getRequest() {
return request;
}
그러나 내 코드에서 요청 개체를 사용하려고하면 null입니다.
어떤 생각을 잘못하고 있는지, 어떻게하면 더 잘 할 수 있을까요?
해결법
-
==============================
1.bean의 범위가 요청 범위라면 HttpServletRequest를 autowire 할 수 있습니다.
bean의 범위가 요청 범위라면 HttpServletRequest를 autowire 할 수 있습니다.
@Component @Scope("request") public class Foo { @Autowired private HttpServletRequest request; // }
그렇지 않으면 다음과 같이 현재 요청을 가져올 수 있습니다.
ServletRequestAttributes sra = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); HttpServletRequest req = sra.getRequest();
이것은 커버 아래 스레드 로컬을 사용합니다.
Spring MVC를 사용하고 있다면 필요한 모든 것. Spring MVC를 사용하지 않는다면 web.xml에 RequestContextListener 또는 RequestContextFilter를 등록해야한다.
from https://stackoverflow.com/questions/6300812/get-the-servlet-request-object-in-a-pojo-class by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] applicationContext.xml에는 datasource 또는 hibernate.cfg.xml이있다. 차? (0) | 2019.01.27 |
---|---|
[SPRING] 단위 테스트 Spring @ AOP 방식의 메소드 (0) | 2019.01.27 |
[SPRING] MongoDB 용 Spring 데이터 MongoDB와 Hibernate OGM의 차이점은 무엇입니까? (0) | 2019.01.27 |
[SPRING] 프로그래밍 방식으로 Spring 부팅 application.properties를 무시하는 방법 (0) | 2019.01.27 |
[SPRING] persistence.xml과 스프링 설정 파일의 데이터 소스 설정의 차이점 (0) | 2019.01.27 |