코딩항해기
[Spring] 경로 메서드 기록 (ServletContext, request, System) 본문
프로젝트 경로를 받아오기 위해 여러 경로 메서드에 대한 기록을 남긴다.
ServletContext는 직접 Spring 컨테이너가 주입해줄 수도 있고, session에서 받아올 수도 있으며, request에서 받아올 수도 있다. 기록한 메서드 외에도 다양한 경로 메서드가 있다.
(+++ target 폴더로 경로가 뜨는 것은 인텔리제이 로컬 서버 기본 설정이 target으로 되어있기 때문이다. 수정하면 수정한대로 뜬다.)
log.warn("-------------------------------");
log.info("servletContext.getRealPath(\"/\") : {}", request.getServletContext().getRealPath("/"));
log.info("servletContext.getContext(\"/\") : {}", request.getServletContext().getContext("/"));
log.info("servletContext.getContextPath() : {}", request.getServletContext().getContextPath());
log.info("servletContext.getContextPath() : {}", request.getServletContext().getContextPath());
log.info("request.getContextPath() : {}", request.getContextPath());
log.info("request.getServletPath() : {}", request.getServletPath());
log.info("request.getRequestURI() : {}", request.getRequestURI());
log.info("System.getProperty(\"user.dir\") : {}", System.getProperty("user.dir"));
log.warn("-------------------------------");
인텔리제이 로컬 서버 경로 수정 후
getServletContext().getRealPath(String path) | 웹 애플리케이션의 루트 경로를 기준으로 실제 파일 시스템 상의 절대 경로 반환 |
getServletContext().getContext(String uri) | 지정된 URI 경로에 대한 ServletContext를 반환합니다. 다른 애플리케이션의 경로 |
getServletContext().getContextPath() | 현재 웹 애플리케이션의 컨텍스트 경로(루트 상대 경로)를 반환 |
request.getRequestURI() | 클라이언트가 보낸 요청의 URI를 반환 |
request.getContextPath() | 현재 웹 애플리케이션의 컨텍스트 경로를 반환 |
request.getServletPath() | 서블릿의 매핑된 경로를 반환 |
request.getPathInfo() | 서블릿 경로 이후의 추가 경로 정보를 반환 |
System.getProperty("user.dir") | 프로젝트 루트 반환 |
Thread.currentThread().getContextClassLoader().getResource("") | 클래스패스 루트 반환 |
ClassLoader.getSystemResource("파일명") | 특종 리소스 루트 반환 |
new File("").getAbsolutePath() | 상대 경로 반환 |
new File("").getParentFile() | 부모 디렉토리 경로 |
'Spring' 카테고리의 다른 글
[SpringBoot] HikariCP (0) | 2024.10.30 |
---|---|
[Spring] JDBCTemplate : KeyHolder (0) | 2024.10.28 |
[Spring] 파일 입출력 MultipartFile (0) | 2024.10.21 |
[Spring] AOP @Order 실행 우선 순위 설정 (0) | 2024.10.20 |
[Spring] AOP @AfterThrowing (0) | 2024.10.20 |