2 minute read

JSP - 9

  • JSTL (JSP 표준 태그 라이브러리)
  • 웹 MVC



JSTL - 1. 개요

  • JSTL(JSP Standard Tag Library)
    • 일종의 사용자 정의 태그의 표준
    • JSP 페이지에서 스크립트 요소로 인한 코드의 복잡함을 해결하기 위해 사용
      • 가독성 up!
      • JSP 내장 객체에 쉽게 접근
      • 파라미터, 헤더, 쿠키 등 복잡한 코드 대신 쉽게 직관적으로 사용 가능
  • 주의할 점
    • JSTL 작성 시, 모든 태그가 시작 태그와 종료 태그의 쌍으로 구성!



JSTL - 2. 제공하는 태그의 종류/사용법

  • JSTL 태그의 분류
    • 각각 다양한 하위 태그 있음
태그 설명
Core 태그 변수 선언, 삭제 등 변수와 관련된 작업 / if, for문과 같은 제어 기능 / URL 처리로 페이지 이동 기능
Fomatting 태그 문자열이나 컬렉션을 처리하는 함수 태그.. 숫자,날짜,시간 등을 형식화 / 다국어 지원 기능 등
sql 태그 데이터베이스와의 상호작용(데이터 삽입/수정/삭제/조회 등)에 사용
Function 태그 문자열을 처리하는 함수를 제공



  • Core 태그
    • <c:out>: 출력
    • <c:set>: 사용할 변수 설정
    • <c:remove>: 설정한 변수를 제거
    • <c:catch>: 예외 처리에 사용
    • <c:if>: 조건문 처리
    • <c:forEach>: 반복문 처리
    • <c:redirect>: 설정한 경로로 이동
    • … …
  • 참고!(EL 표기법)
    • ${number} = <%=number%>
  • sql 태그
    • <sql:setDataSource>: DataSource를 설정
    • <sql:query>:조회 쿼리문 실행
    • <sql:update>: 삽입, 수정, 삭제 쿼리문 실행
    • <sql:dateParam>: 쿼리문에 문자열 형식 파라미터 설정
    • <sql:param>: 쿼리문에 날짜 형식 파라미터 설정
    • <sql:transaction>: 트랜잭션 구현
  • Function 태그
    • contains(): 검색 대상 문자열의 포함 여부 확인
    • containsIgnoreCase(): 대/소문자에 관계없이 검색 대상 문자열의 포함 여부 확인
    • startsWith(): 특정 문자열로 시작하는지 확인
    • endsWith(): 특정 문자열로 끝나는지 확인
    • escapeXml(): 문자열에 포함된 특수문자를 특정 코드로 변환
    • indexOf(): 검색 대상 문자열의 첫 위치 값을 반환
    • join(): 배열 형태의 문자열을 설정한 구분자로 연결하여 반환
    • … …






웹 MVC - 1. 개요

  • Model, View, Controller
    • Web App을 비즈니스 로직 / 프레젠테이션 로직 / 데이터 로 분리하는 디자인 패턴!
      • Model : 고객, 제품, 주문 정보 등의 비즈니스 로직을 담는 객체
      • View : 사용자에게 모델의 정보(데이터)를 보여주는 역할
      • Controller : Model과 View 사이 어떤 동작이 있을 때, 조정하는 역할(적절한 뷰 선택)



웹 MVC - 2. MVC 패턴 구조

  • 모델 1
    • Model => DB
    • View + Controller => ex. processAddMember.jsp

      .jsp 페이지가 대부분의 처리를 수행!!

  • ‘모델 1’ 특징
장점 단점
구조 단순, 빠른 개발 가능 뷰 코드와 자바 코드(컨트롤) 섞여있어 분업 어려움, 유지보수 역시 어려움



  • 모델 2
    • Model => DB
    • View => .jsp 페이지
    • Controller => 서블릿 (like ‘관제탑’)이 모두 처리
  • ‘모델 2’ 특징
장점 단점
뷰 코드(출력)와 자바 코드(로직 처리) 분리되어 있어 코드 간결, 분업 및 유지보수 용이 개발 난이도 비교적 어렵고, 더 많은 시간 소요




웹 MVC - 3. MVC 패턴 구현

  • web.xml 파일에 서블릿 구성
    • 웹 MVC에서는 클라이언트로부터 요청 받을 때, ‘서블릿(컨트롤러)’을 통해 받음!!
    • 이를 위해 web.xml에 ‘서블릿 클래스’와 ‘URL 패턴’을 등록!
      • <servlet> 요소로 서블릿 클래스 등록
      • <servlet-mapping> 요소로 URL 패턴 등록
  • 컨트롤러 생성
    • 컨트롤러: 요청 URL/파라미터 받아서 처리하는 ‘서블릿 클래스’
    • ‘HttpServlet 클래스’를 확장하여 생성
  • 모델 생성
    • 모델: Web App의 비즈니스 로직을 포함하는 데이터

      DB의 데이터 or 서비스 수행하는 간단한 자바 클래스(자바빈즈)

  • 뷰 생성
    • 뷰: 웹 브라우저의 요청을 처리한 결과를 사용자에게 보여주는 JSP 페이지
  • 수업 영상 시청!
    • WebMarket 예제의 MVC 패턴 동작 원리, 영상으로 복습 꼭






공지

  • 5/30(월) JSP 시험 예정
    • 관련 내용 숙지






nice!!!

Updated: