JSP 이해

JSP 이해

1. JSP는 꺽쇠<>로 묶이는 html과 퍼센트꺽쇠<% %>로 묶이는 java코드가 섞여 비효율적이고 코딩을 하기 어렵다. 따라서 View, Model, Controller 셋으로 구조를 나누는 MVC패턴이 발전했다. View는 디자이너가 만들고, Model은 개발자가 만든다. 이 둘을 묶어주는 Controller는 미리 만들어져 있다. 스프링, 스트러츠가 그것이다.

2. JSP에서 개발자는 DAO와 DTO라는 클래스를 반드시 만든다. DTO는 데이터만 담겨있는 클래스, DAO는 데이터를 갖고오는 클래스이다. 말 그대로 “Data Type(데이터형) Object”는 데이터형을 저장하고, “Data Acess(접근) Object”는 데이터를 접근해서 가져온다.

3. 개발자는 오라클에서 DAO를 통해 데이터를 가져와서 DTO에 담게 되는데, 이때 직접적으로 접근할 수 없고 드라이버를 통해야 한다. 우리가 쓰는 무료 드라이버를 ‘씬 드라이버’라고 하며, 단지 연결만 시켜줄 뿐이기에 각종 기능은 우리가 만들어야 한다.(빠른 속도의 유료 드라이버로는 OCI가 있지만, 거의 쓰이지 않는다)

4. 웹사이트의 개발 단계는 다음과 같다. 요구사항을 PM이 받고, DBA가 DB를 설계하고, 디자이너가 디자인을 마친 후, 개발자는 요구사항/DB/디자인에 맞춰 사이트를 개발한다.

 

5. DTO 작성

DTO는 데이터 타입을 담는 곳이다. 데이터는 어레이리스트로 담게 되는데, 표(DB)에서 한 줄(레코드)씩을 가져와 넣게 된다.

DB설계 상황을 보려면 오라클에 접속한 후, 아래처럼 DESC emp;를 날려 테이블에 어떤 칼럼이 있는지 보고, 컬럼 갯수와 형태를 알 수 있다.

VARCHAR2는 String으로 가져오면 되고,

NUMBER는 (SELECT를 날려 실제 데이터 모양을 본 후) Int나 Double로 가져오면 되고,

DATE는 Date로 가져오면 된다.

6. DAO는 캡슐화되어야 한다. 변수를 private으로 선언했으므로, 다른 곳에서 가져다 쓸 수 있도록 게터세터를 써야 한다. 이클립스에서 마우스 우클릭 -> Source -> Generate Getters and Setters 로 게터세터를 만들 수 있다.


 

7. JSP를 위해서는 클래스 4개를 알아야 한다. 내용은 아래와 같다.


8. 오라클에 연결하기 전, 오라클의 네트워크 폴더에 들어가 listener.ora 파일을 열어서 ip주소와 포트번호를 제대로 맞춰줘야 한다.