0
 19   2   1
  View Articles

Name  
   손병목  (2003-03-30 02:58:05, Hit : 21767, Vote : 1525)
Homepage  
   http://www.itmembers.net
Subject  
   게시판 실습(7) - include 지시자 사용하여 DB 연결 부분 분리
지난 시간까지는 입력한 글을 DB에 저장하는 insert.jsp에 대해 알아보았습니다.
예정대로라면 이번 시간에는 글 목록을 보여주는 list.jsp를 만들어봐야 하는데,
다시 한번 insert.jsp를 다룰 예정입니다.

기존의 insert.jsp에 포함되어있던 DB 연결 부분을 별도의 파일로 분리하여 따로 저장해 놓고,
앞으로 실습하게 될 거의 모든 파일에서 공용으로 사용할 수 있게 만들어 봅니다.

게시판 프로그램을 만들다 보면 거의 모든 파일에서 DB 연결을 위한 소스를 추가해야 합니다.
이렇게 반복적으로 사용할 필요가 있는 부분은 별도의 파일로 만들어 두고, JSP의 include 지시자를 이용해 삽입할 수 있습니다.

우선 아래와 같이 DB에 접속하는 프로그램을 만듭니다.
아래와 같이 만들어서 파일 이름을 conn_db.jsp 로 저장합니다.



이전에 insert.jsp에서 봤던 코드보다 많이 복잡해졌죠?
단 몇줄로 표현할 수 있겠지만, 여러가지를 고려해서 드라이버 이름, URL, ID, 패스워드 등을 모두 변수화하고 DB 연결 부분의 오류 발생 시 쉽게 알 수 있도록 예외 처리를 하였습니다.

아래와 같이 세 줄 정도만으로도 모든 걸 구현할 수 있지만, 제대로(?) 된 프로그램 모양을 갖추느라 좀 복잡하게 만들어졌습니다.

Class.forName("com.mysql.jdbc.Driver");
Connection Conn = DriverManager.getConnection("jdbc:mysql://localhost/itmembers?user=phpbbs&password=phpbbs");
Statement stmt = Conn.createStatement();

각각의 부분이 어떤 역할을 하는지는 위 코드의 주석을 참조하세요.
예외 처리를 하는 try ~ catch 구문에 대해서는 나중에 시간되면 그때 다루기로 하죠...

이제 insert.jsp에서 conn_db.jsp를 불러와야겠죠.



10행에서처럼 include 지시자를 이용해 conn_db.jsp를 insert.jsp 파일 앞부분에 삽입하면 됩니다. 간단하죠?
그리고 예전에 DB 연결을 위해 작성했던 부분을 삭제하면 되죠.

그리고 중요한 것 하나!



프로그램 끝에 위와 같이 conn_db.jsp에서 만든 Statement와 Connection 객체를 닫아줘야 합니다.
안 닫는다고 오류가 나는 건 아니지만, 이렇게 열어 놓으면 서버의 퍼포먼스(성능)를 크게 떨어뜨리게 됩니다.

conn_db.jsp와 수정한 insert.jsp를 비롯해서
앞으로 실습하게 될 모든 파일을 자료실에 JSP 게시판 1차 완성본라는 이름으로 등록해 두었습니다.

일요일 새벽, 동주아빠 손병목이었습니다.

Prev
   게시판 실습(8) - 글 목록 페이지 모양 만들기

손병목
Next
   게시판 실습(6) - 입력 글 저장하기 (3) 소스 설명

손병목


Copyright 1999-2022 Zeroboard / skin by Zetyx