본문 바로가기
Programming/Jsp

[JSP] 소스는 동일하지만 프로젝트명이 다를 때의 파일 경로

by prinha 2020. 7. 23.
반응형

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<h3>ex) 쇼핑몰 경로 : 소스는 동일하지만 프로젝트명이 다를때</h3>
<br>

<%-- pageContext의 contextPath를 참조하여 주소 연결해줌 --%>
<a href="${pageContext.request.contextPath}/index.do">사용자</a> |
<%-- /shoppingmall/index.do --%> 

<a href="${pageContext.request.contextPath}/mg/managerMain.do">관리자</a>
<%-- /shoppingmall/mg/managerMain.do --%> 

<br>
<%-- core태그에서 제공해주는 url태그가 현재 프로젝트명을 가지고있는 context의 이름을 참조하여 주소 연결해줌 --%>
<a href="<c:url value="/index.do" />">사용자</a> |
<a href="<c:url value="/mg/managerMain.do" />">관리자</a>

</body>
</html>
String uri = request.getRequestURI();
String conPath = request.getContextPath();
String com = uri.substring(conPath.length());
				
// url : 주소전체 -> http://localhost:8080/coding02/list.do
// uri : 인터넷 기본 주소 제외 -> /coding02/list.do
// conPath(= ContextPath) : 파일명or프로젝트명 -> coding02
// com = uri.substring(conPath.length()) : 프로젝트명 뒤의 주소 -> list.do

// console에서 출력해보기
System.out.println(uri); // /coding02/*.do
System.out.println(conPath); // /coding02 
System.out.println(com); // /*.do

 

 

반응형