절대 경로
개념
최초의 시작점으로 경유한 경로를 전부 기입하는 방식
경로의 처음부터 마지막까지 완전히 적힌 경로
어떠한 웹페이지나 파일이 가지고 있는 고유한 경로
최상위 디렉토리가 반드시 포함된 경로
실전 예시
Browser
http://www.google.com
Windows
C:\chrome\chrome_shutdown_ms.txt
Linux
cd $CATALINA_HOME/bin/
윈도(Windows) 절대 경로
C:\chrome\
Spring 절대 경로
servlet-context.xml
<resources mapping="/resources/**" location="/resources/" />
JSP
<img alt="Cat pictures" src="/resources/img/cat01.jpg">
결과
상대 경로
개념
현재 위치한 곳을 기준으로 해서 목표로 하는 (파일이 있는 곳) 위치이다.
상대 경로는 항상 비교할 대상이 있어야 합니다. 결국 내가 어디있냐에 따라 경로가 달라지는 것!
내 위치와 파일 경로를 비교하는 것! (상대평가처럼)
현재 디렉터리(비교 대상)를 기준으로 작성된 경로
실전 예시
예시 URL : http://localhost:8080/project 01/abc.jsp
Spring 상대 경로
servlet-context.xml
<resources mapping="/resources/**" location="/resources/" />
JSP
${pageContext.request.contextPath} : 내 현재 위치 ( EL(Expression Language) 사용 )
<img src="${pageContext.request.contextPath}/resources/img/cat01.png" />
결과
설명
${pageContext.request.contextPath} 사용함으로 써 상대 경로 즉, 내 위치에 따라 값이 변하던 게 고정이 된다.
정확히 말하면 고정이 아니라 알아서 위치를 찾아서 맞춰주는 겁니다.
예를 들면 부모 폴더에 접근하려면 ../resources/img/cat01.png 이런 식으로 쓰고
소속 폴더에 접근하려면 ./resources/img/cat01.png 써야 하는 걸 알아서 맞춰주는 겁니다.
그 외 표현식
${pageContext.request.requestURL} : http://localhost:8080/project01/abc.jsp
${pageContext.request.scheme} : http
${pageContext.request.serverName} : localhost
${pageContext.request.serverPort} : 8080
${pageContext.request.requestURI} : /project01/abc.jsp
${pageContext.request.servletPath} : /abc.jsp
Java
HttpServletRequest request
String root = request.getContextPath(); // return 프로젝트 Path
결과 : /project01
String uri = request.getRequestURI(); // return 프로젝트+파일경로
결과 : /project01/abc.jsp
String servlet = request.getServletPath(); // return 파일명
결과 : /abc.jsp
StringBuffer url = request.getRequestURL(); // return 전체 경로
결과 : http://localhost:8080/project01/abc.jsp
경로 표기법
상대 경로
. : 현재 웹페이지가 소속된 폴더
.. : 현재 웹페이지의 부모 폴더
절대 경로
/ : 루트(root)
./ : 현재 위치
../ : 현재 위치의 상단 폴더
'Back-end > JAVA & Spring' 카테고리의 다른 글
[톰캣 오류] several ports 8080 required by Tomcat (2) | 2021.05.06 |
---|---|
spring에서 web.xml 의 classpath: log4j.xml 경로 지정 (1) | 2021.05.03 |
[log4j] 레이아웃 패턴 기본 설정 (1) | 2021.04.30 |
이클립스 어두운 테마 적용 방법 (0) | 2021.04.30 |
JAVA 예외처리 공부 try catch 정리 했던 기록 (0) | 2021.04.30 |
댓글