https://m.blog.naver.com/takijang/221014895320
https://java119.tistory.com/101
절대 경로
개념
최초의 시작점으로 경유한 경로를 전부 기입하는 방식
경로의 처음부터 마지막까지 완전히 적힌 경로
어떠한 웹페이지나 파일이 가지고 있는 고유한 경로
최상위 디렉토리가 반드시 포함된 경로
실전 예시
Browser
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)
./ : 현재 위치
../ : 현재 위치의 상단 폴더
contextPath
EL 표현식 사용 시 | ${pageContext.request.contextPath} |
JSP에서 스크립트 사용 시 | <%=request.getContextPath() %> |
프로젝트 Path만 가져온다
실제 주소 예시 | 가져오는 값 |
http://localhost:8080/mvcMain/write.do | /mvcMain |
https://localhost:8080/card/main.do | /card |
requestURL
EL 표현식 사용 시 | ${pageContext.request.requestURL} |
JSP에서 스크립트 사용 시 | <%=request.getRequestURL() %> |
프로젝트 + 파일경로
WEB-INF의 실제 JSP 경로를 가져옴
실제 주소 예시 | 가져오는 값 |
http://localhost:8080/mvcMain/write.do | http://localhost:8080/mvcMain/WEB-INF/views/write.jsp |
https://localhost:8080/card/main.do | http://localhost:8080/card/WEB-INF/views/MainPage.jsp |
requestURI
EL 표현식 사용 시 | ${pageContext.request.requestURI} |
JSP에서 스크립트 사용 시 | <%=request.getRequestURI() %> |
localhost뒤에 프로젝트 이름부터 끝까지 가져옴
실제 주소 예시 | 가져오는 값 |
http://localhost:8080/mvcMain/write.do | mvcMain/WEB-INF/views/write.jsp |
https://localhost:8080/card/main.do | card/WEB-INF/views/MainPage.jsp |
'차근차근 > JAVA Script' 카테고리의 다른 글
location.href 와 location.replace 차이점 (0) | 2021.12.22 |
---|---|
history.pushState 화면전환 / 현재 페이지 주소창 url변경하기 (0) | 2021.12.22 |
클립보드 복사 execCommand (0) | 2021.12.15 |
navigator.platform (0) | 2021.12.15 |
자바스크립트 위치..? (0) | 2021.12.07 |