수업 복습

커스텀 태그 복습

_김영인 2025. 12. 1. 15:30

JSP 커스텀 태그(Custom Tag) 개념 

# 커스텀 태그란?

  • JSP에서 특정 UI 조각 또는 기능을 재사용 가능하게 캡슐화한 태그
  • 모듈화, 태그화, 컴포넌트화 개념
  • 과거에는 이런 UI 요소들을 위젯(Widget) 이라고 불렀다

즉, 여러 JSP 페이지에서 반복되는 영역을 하나로 묶어 관리할 수 있음
→ 유지보수 효율 상승


# 커스텀 태그를 사용해야 하는 이유

효과설명
결합도 낮춤 JSP 내부에 자바 로직이 분리되면서 코드 의존성 감소
응집도 높임 관련 기능을 한 파일에 모아 관리
유지보수 용이 한 곳만 수정하면 전체 적용
가독성 향상 페이지 구조가 깔끔해지고 역할이 분리됨

# 커스텀 태그 저장 위치

  • /WEB-INF/lib 에 태그 파일과 설정 파일을 묶어서 관리
  • 상단에 태그 지시어(taglib) 를 선언해 컴파일러가 인식하도록 함

예시)

 
<%@ taglib prefix="my" uri="/WEB-INF/tags" %>

* 말 그대로 외부 자원을 JSP에 끌어올 때는 태그 지시어가 필수


# <jsp:doBody /> 의 의미

  • 태그 내부에 작성된 body 내용을 대신 출력하는 역할
  • 외부에서 원하는 값을 넣어 태그가 출력하도록 함 → 확장성↑

예시 흐름)

불러오는 쪽에서 원하는 속성값 전달
태그 내부에서 doBody()가 출력 처리


설정 방식 변화: web.xml vs Annotation

✔ Web.xml 기반 설정 (.xml)

  • 프로젝트 전반 설정에 활용
  • 세부 제어 가능하지만
    • 가독성이 떨어짐
    • 분석이 어려움

✔ Annotation 기반 설정 (@WebServlet 등)

  • 자바 코드에 직접 선언 → 가독성 좋고 분석 쉬움
  • 다만,
    • 이미 정의된 어노테이션만 사용 가능
    • 자바 관련 설정만 가능
    • 광범위한 설정 불가

결론: 두 방식은 보완 관계

구분추천 사용 대상
어노테이션 클래스 단위, 자바와 직접 연결되는 설정
web.xml 프로젝트 전체 흐름, 공통 설정

예시)

 
@WebServlet("*.do")

→ 톰캣이 실행될 때 해당 패턴을 가진 요청을 자동 매핑


커스텀 태그 도입 효과

항목효과
페이지 구조 개선 View 코드의 가독성 향상
재사용성 증가 동일 UI, 동일 로직 한 번에 관리
유지보수 쉬움 수정은 한 파일에서 처리
분리된 구조 View와 Logic 책임 분리 (MVC에 적합)

오늘 수업 핵심

  • JSP 커스텀태그 = 모듈화 + 재사용성 극대화
  • taglib 지시어 필수 (외부 자원 끌어올 때)
  • <jsp:doBody /> 로 Body 출력
  • Annotation(@WebServlet) 사용 증가 추세지만
    .xml 은 여전히 중요 & 보완 관계
  • JSP View 파트 마무리 → 다음은 외부 스크립트/프레임워크 기반 진행

'수업 복습' 카테고리의 다른 글

다형성 복습 및 과제  (0) 2026.01.13
Spring Framework  (1) 2026.01.13
팩토리 패턴 & 싱글톤 복습  (0) 2025.11.28
비동기 통신 & FC 패턴 복습  (0) 2025.11.27
JS 내장객체  (0) 2025.11.18