전자정부의 공통컴포넌트의 개요는 다음과 같습니다. (세미나 자료에서 발췌)
코드의 재사용성 및 표준을 위해 정보시스템에서 공통으로 사용되는 모듈을 따로 개발하여 배포하는 모듈들입니다.
이러한 모듈들을 잘 활용하면 개발자는 중복된 기능들을 개발하지 않고,
필요한 비지니스 로직만을 개발하여 개발의 효율성을 극대화 합니다.
그럼 서두는 여기까지하고, 직접 활용해보도록 하겠습니다.
이클립스를 켜고, 프로젝트를 생성합니다.
이번에는 샘플코드 없이 빈프로젝트로 생성합니다.
(package Explorer > 우클릭 > new > New eGovFrame Web Project)
공통 컴포넌트 모듈을 생성할때 이미 주요 설정들이 되어있기때문에
지금부터 수행할 작업들은 빈프로젝트에서 수행하시는게 정신건강에 이롭습니다.
공통 컴포넌트를 생성하기 전에,
package Explorer의 오른쪽에 있는 Data Source Explorer에서
데이터베이스 접속에 필요한 설정을 먼저 만드시기 바랍니다.
이부분은 어렵지 않으니 따로 설명드리지 않겠습니다.
프로젝트를 우클릭후 new > eGovFrame Common Component를 클릭합니다.
그럼 다음과 같은 창을 보실 수 있습니다.
많은 컴포넌트들이 존재하지만, 게시판만 설치해 보도록 하겠습니다.
게시판의 체크박스를 클릭하게되면 의존하고 있는 공통 모듈도 설치가 됩니다.
Next를 눌러주세요.
데이터베이스를 생성할것인지 묻는 창입니다.
생성해야겠죠?
위에서 생성한 데이터베이스 접속정보를 설정하고
Connection Test 후 Create Table 버튼을 누르면 테이블이 생성됩니다.
이후 finish를 누르면 다음 창이 나타납니다.
빈 프로젝트에 추가하였기때문에 Yes를 눌러 소스를 생성합니다.
이상태로 실행을 해서 작동하면 참 좋겠지만,
제 경우엔 몇몇 오류가 발생하여 수정을 해야 했습니다.
우선 pom.xml로 가서 jsp-api 내용을 추가합니다.
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<scope>provided</scope>
<version>2.1</version>
</dependency>
그리고 나서 상위 메뉴의 project > clean을 한번 해주면 소스상의 에러는 잡힙니다.
그다음 데이터베이스 설정입니다.
공통 컴포넌트는 데이터베이스 설정을 하는 spring context xml(dataSources)파일을 외부 properties파일에서 로드합니다.
/src/main/resources/egovframework/egovProps/globals.properties
이 위치로 가서 열어보시면 공통 컴포넌트를 추가할때 연결했던 데이터베이스로 연결되어있는것을 확인 하실 수 있습니다.
여기서도 역시 제경우에는 Globals.DriverClassName 이 oracle.jdbc.OracleDriver로 되어있어 에러가 발생했는데요
이것을
Globals.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.Url=jdbc:oracle:thin:@localhost:1521:xe
요렇게 바꿔줍니다.
이후 이전 포스팅에서 한작업과 동일하게 드라이버 파일을 추가해줍니다.
/src/main/webapp/WEB-INF/lib
그리고나서 실행합니다.