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 |