pagecontext.request.contextpath
https://m.blog.naver.com/takijang/221014895320
${ pageContext.request.contextPath}
${ pageContext.request.contextPath} contextPath가 변경되어도 소스 수정없이 적용하기 위해 사용 ->...
blog.naver.com
https://java119.tistory.com/101
[Spring] 절대경로와 상대경로(feat.${pageContext.request.contextPath})
먼저 절대 경로, 상대 경로를 설명하기 전 학창 시절로 가서 절대 평가, 상대 평가를 생각하면서 이 글을 보면 이해가 쉽습니다. 절대 경로 개념 최초의 시작점으로 경유한 경로를 전부 기입
java119.tistory.com
절대 경로
개념
최초의 시작점으로 경유한 경로를 전부 기입하는 방식
경로의 처음부터 마지막까지 완전히 적힌 경로
어떠한 웹페이지나 파일이 가지고 있는 고유한 경로
최상위 디렉토리가 반드시 포함된 경로
실전 예시
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)
./ : 현재 위치
../ : 현재 위치의 상단 폴더
[Spring] contextPath, requestURI, requestURL 차이
contextPath EL 표현식 사용 시 ${pageContext.request.contextPath} JSP에서 스크립트 사용 시 <%=request.getContextPath() %> 프로젝트 Path만 가져온다 실제 주소 예시 가져오는 값 http://localhost:8080/mv..
mchch.tistory.com
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 |