티스토리 뷰

JSP나 Servlet을 사용하여 프로젝트를 진행할 때, 모든 객체를 전부 JSP에서 선언하여 사용하면 데이터를 따라가기 힘들 뿐더러 비효율적이다. 

그래서 주로 사용하는 방식이 Java source 폴더에 원하는 데이터를 가지고 있는 객체를 생성하여 이를 모아두고, 데이터베이스에서 가져온 정보를 해당 객체에 저장하여 사용하는 방식이다.

이 때, DB 에서 꺼내온 데이터를 가질 객체들의 집합을 DTO(Data Transfer Object)라고 한다.

이번 포스팅에서는 이 DTO 를 어떻게 활용할 수 있는 지 알아보려고 한다.

 


간단하게, 저장된 정보를 가지고 있다가, 검색 내용이 들어오면 해당하는 데이터를 목록으로 내보내고, 목록을 클릭하면 상세 정보가 보이는 정도의 기능을 가지고 있는 도서 검색을 구현하여 설명한다.

 

우선, Defualt로 주어지는 데이터는 다음과 같다.

구현하려 하는 기능은 다음과 같다.

 

 1. 코드를 검색했을 때, 검색 값을 포함하는 도서의 정보가 목록으로 표시된다.

 2. 목록에 있는 도서의 코드를 클릭 시 상세 정보를 확인할 수 있다.

 3. 상세정보 페이지에서 데이터를 수정할 수 있다.


우선, 데이터베이스에 있는 정보를 추출하여 객체 형태로 가지고 있을 DTO 클래스 파일을 생성해줘야 한다.

 

◎Goods.java

package com.choonham.dto;

public class Goods {
	
	private String code = null;
	private String title = null;
	private String writer = null;
	private int price = 0;
	
	public Goods() {
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getWriter() {
		return writer;
	}

	public void setWriter(String writer) {
		this.writer = writer;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}
}

위와 같이 DTO 클래스는 반드시 private로 선언이 되어야 한다.

 

이후에 해당 DTO 클래스들의 List를 하나 생성하고, 이 List를 이용하여 작업을 수행하면 된다. 

생소한 개념이여서 그렇지, 막상 다뤄보면 난이도는 그렇게 높지 않다.


 

프로젝트의 GitHub:

github.com/Choonham/Choonham-2020.03.10-Spring-Class-JWEB-/tree/main/jsp_servlet_jsp_goods 

 

Choonham/Choonham-2020.03.10-Spring-Class-JWEB-

Contribute to Choonham/Choonham-2020.03.10-Spring-Class-JWEB- development by creating an account on GitHub.

github.com


 

'WEB > DynamicWeb' 카테고리의 다른 글

[Web] DAO, DTO, Servlet 활용 예제 <회원 관리>  (0) 2021.04.28
[Web] DAO & DTO  (0) 2021.04.28
[Servlet] JSP -> Servlet  (0) 2021.04.26
[Servlet] init() & destroy()  (0) 2021.04.26
[Servlet] 간단한 덧셈을 수행하는 클래스  (0) 2021.04.26
Comments