웹 애플리케이션에서 경로를 지정하는 방법은 매우 중요합니다. 이는 애플리케이션의 페이지, 리소스, 그리고 외부 링크를 정확하게 참조할 수 있도록 합니다. JSP에서 경로를 지정하는 방법은 다음과 같은 몇 가지 주요 개념을 포함합니다.
### 1. 상대 경로 (Relative Path)
상대 경로는 현재 페이지나 파일의 위치를 기준으로 경로를 지정합니다. 예를 들어, 현재 페이지가 `/webapp/pages/home.jsp`에 있을 때, 같은 디렉토리 내의 파일을 참조하려면 상대 경로를 사용할 수 있습니다:
```html
<a href="about.jsp">About</a>
```
위의 코드는 `home.jsp`와 같은 디렉토리에 있는 ` /webapp/pages/about.jsp` 파일을 참조합니다.
../
예를 들어, 현재 파일이 /webapp/pages/home.jsp에 있다고 가정해 봅시다:
현재 디렉토리
- 현재 파일 경로: /webapp/pages/home.jsp
한 단계 상위 디렉토리로 이동
- ../: 상위 디렉토리인 /webapp/로 이동.
html코드 복사<a href="../about.jsp">About</a>
- 이 링크는 /webapp/about.jsp 파일을 참조합니다.
두 단계 상위 디렉토리로 이동
- ../../: 두 단계 상위 디렉토리로 이동하여 루트 디렉토리로 이동.
html코드 복사<a href="../../index.jsp">Home</a>
- 이 링크는 /index.jsp 파일을 참조합니다.
### 2. 절대 경로 (Absolute Path)
절대 경로는 서버의 루트 디렉토리(최상위 )를 기준으로 경로를 지정합니다. 절대 경로는 항상 `/`로 시작합니다:
```html
<a href="/webapp/pages/about.jsp">About</a>
```
이 경우, 경로는 서버의 루트 디렉토리에서 시작하여 `webapp/pages/about.jsp` 파일을 참조합니다.
### 3. 컨텍스트 경로 (Context Path)
웹 애플리케이션은 종종 특정한 컨텍스트 경로에 배포됩니다. 예를 들어, 애플리케이션이 `/myapp` 경로에 배포되었다면, 모든 요청은 `/myapp`을 기준으로 처리됩니다. 이때 컨텍스트 경로를 동적으로 참조하면, 애플리케이션이 다른 경로에 배포되더라도 경로 설정을 쉽게 관리할 수 있습니다.
#### JSP에서 컨텍스트 경로 사용하기
컨텍스트 경로를 JSP 페이지에서 동적으로 설정하는 방법은 다음과 같습니다:
1. **컨텍스트 경로를 가져와서 설정하기:**
```jsp
<%
String contextPath = request.getContextPath();
pageContext.setAttribute("contextPath", contextPath);
%>
```
2. **컨텍스트 경로를 이용하여 링크 생성하기:**
```jsp
<li><a href="${contextPath}/memJoin.do">Join</a></li>
```
### 4. JSP EL (Expression Language)
JSP 표현 언어(EL)는 JSP 페이지에서 동적 값을 쉽게 출력할 수 있는 방법을 제공합니다. 예를 들어, 위에서 설정한 `contextPath` 변수를 EL을 사용하여 출력합니다:
```jsp
<li><a href="${contextPath}/memJoin.do">Join</a></li>
```
### 예제
다음은 JSP 페이지에서 컨텍스트 경로를 설정하고 이를 이용하여 링크를 생성하는 전체 예제입니다:
```jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String contextPath = request.getContextPath();
pageContext.setAttribute("contextPath", contextPath);
%>
<!DOCTYPE html>
<html>
<head>
<title>My Application</title>
</head>
<body>
<ul>
<li><a href="${contextPath}/home.do">Home</a></li>
<li><a href="${contextPath}/about.do">About</a></li>
<li><a href="${contextPath}/contact.do">Contact</a></li>
<li><a href="${contextPath}/memJoin.do">Join</a></li>
</ul>
</body>
</html>
```
### 요약
- **상대 경로**: 현재 파일 위치를 기준으로 참조.
- **절대 경로**: 서버 루트 디렉토리를 기준으로 참조.
- **컨텍스트 경로**: 애플리케이션의 배포 경로를 기준으로 참조.
- **JSP EL**: JSP 표현 언어를 사용하여 동적 값을 출력.
이 방법들을 사용하면 웹 애플리케이션의 경로를 유연하고 관리하기 쉽게 설정할 수 있습니다.
'Spring' 카테고리의 다른 글
.java 만들기 (0) | 2024.06.16 |
---|---|
@RequestParam (0) | 2024.05.23 |
(Mybatis) jsp- Controller - Mapper - SQL (0) | 2024.05.22 |
npm run start: 프로젝트 실행 (0) | 2024.05.09 |