책 요약 (도서)/자바 웹 개발 워크북

1-5. 모델(Model)

기매_ 2022. 11. 22. 15:17

DTO : 대부분 Java Beans 형태로 구성

 

Java Beans

1. 생성자가 없거나 반드시 파라미터가 없는 생성자 함수를 가지는 형태

2. 속성(멤버 변수)은 private으로 작성

3. getter / setter 를 제공할 것

+ Serializable 인터페이스를 구현

 

p.78

enum 타입으로 TodoService(클래스) 작성

package org.zerock.w1.todo.service;

public enum TodoService {
    INSTANCE;
}

=> 장점 : 정해진 수만큼만 객체를 생성할 수 있다

 

 

JSP 에서 자바 코드를 직접 JSP 내부에서 사용했을 때의 단점

 : 내부에서 자바 코드가 같이 섞이면 import 부터 시작해 모든 자바 문법이 사용되어야 하기 때문에 자바를 모르는 사람도 JSP 2.0부터 간단하게 사용할 수 있는 출력용 언어인 EL을 개발

 (장점) 자바 코드를 몰라도 getter/setter를 호출할 수 있음

보완 - EL ${ } 사용

 

EL (Expression Language)

- EL을 이용하는 경우에는 자동으로 getter를 호출하게 된다.

ex. TodoDTO의 tno와 title 을 출력하고자 한다면, getTno(), getTitle() 대신

       ${list[0].tno}, ${list[0].title} 처럼 작성하면 됨 !

- TodoDTO 클래스에서 tno, title은 private으로 처리되어 있으므로 자바 코드에서는 외부에서 바로 접근이 불가능하지만,

EL은 getTno(), getTitle()을 자동으로 호출함.

- EL이 자바 문법 없이도 작성 가능하지만, 원한다면 자바 코드를 그대로 이용하는 방식도 가능함

<h4>${list[0].title}</h4>
<h4>${list[0].getTitle()}</h4>

 

=> EL : JSP에서 간단한 표현식을 이용해서 데이터를 출력하는 용도

EL은 출력만을 담당하기 때문에, 제어문이나 반복문과 같이 '식(expression)'이 아닌 '문(statement)'을 처리하기 위해서는 JSTL 라이브러리가 필요

 

 

JSTL (JavaServer Pages Standard Tag Library)

- 라이브러리가 존재해야만 사용 가능 (build.gradle에서 의존성 라이브러리 추가 필요)

- JSP 맨 위에 태그 관련 설정 추가 (지시자)

'책 요약 (도서) > 자바 웹 개발 워크북' 카테고리의 다른 글

3-3. 리스너(Listener)  (0) 2022.12.07
2-3. 웹 MVC와 JDBC의 결합  (0) 2022.11.23
2-2. 프로젝트 내 JDBC 구현  (0) 2022.11.23
1-4. HttpServlet  (0) 2022.11.21
1-3. Web MVC 방식  (0) 2022.11.21