(0) 준비 파일

05. Spark 전자정부 프레임워크(eGov 없는거).zip     639MB

05. Spark 전자정부 프레임워크(eGov 3.9.0 포함).zip     2GB

 

(1) 자바 (구드 다운) > 환경설정 해야함(home, path)

 

(2) 전자정부 설정

1 전자정부 원하는 경로에 폴더 복사해서 설치
2 전자정부 안에 있는 이클립스 실행해서 workspace 설정(eGovFrameDev 디렉토리 내에 있는 workspace를 잡는 것이 일반적이다.)

maven, servers, upload 폴더를 만든다

 

window -> perspective -> open perspective -> Other -> eGovFrame

 

window -> show view 에서 하단바
Problems, Tasks, Servers, Console, Javadoc, SQL Results, Query Result

window -> show view 에서 좌측바
Navigator   <- 만약 하단바에 추가되면 좌측바로 끌어다 놓으면 된다. 이클립스, 스프링때 Package Explorer에서 했지만 전자정부는 이 Navigator에서 할거다!!!

 

(3) MariaDB 설정 (데이터베이스 생성)

1 MariaDB 설치

마리아 DB 계정 1234, 비번 1234로 했음. 설치할 때 UTF-8 빼먹지 말 것

포트 3308로 하자

 

2 my.ini 수정

마리아DB 설치 폴더 > data > my.ini 메모장으로 열기

[mysqld]
datadir=C:/Program Files/MariaDB 10.4/data
port=3308
innodb_buffer_pool_size=1535M
character-set-server=utf8
collation-server=utf8_general_ci
init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8
skip-character-set-client-handshake

[client]
port=3308
plugin-dir=C:/Program Files/MariaDB 10.4/lib/plugin
default-character-set=utf8

[mysql]
default-character-set=utf8

이렇게 수정한다. 'innodb_buffer_pool_size=16384M' 여기 용량은 시스템 상황에 따라 적절히 설정... MariaDB 설치시 Buffur pool size 설정하는거랑 같은거다. 

마리아DB가 설치한 원본 소스...

더보기
[mysqld]
datadir=C:/Program Files/MariaDB 10.4/data
port=3308
innodb_buffer_pool_size=1535M
character-set-server=utf8

[client]
port=3308
plugin-dir=C:/Program Files/MariaDB 10.4/lib/plugin

[mysql]
default-character-set=utf8

 

3 데이터베이스랑 테이블 만들기

데이터베이스는 'test' 

테이블은 아래 이름으로 생성

tbl_attach

CREATE TABLE `tbl_attach` (
	`idx` INT(11) NOT NULL COMMENT '게시물아이디',
	`seq` INT(11) NOT NULL COMMENT '순번',
	`filename` VARCHAR(256) NULL DEFAULT NULL COMMENT '파일명',
	`writer` VARCHAR(50) NULL DEFAULT NULL COMMENT '등록자',
	`indate` DATETIME NULL DEFAULT NULL COMMENT '등록일',
	PRIMARY KEY (`idx`, `seq`)
)
COLLATE='utf8_general_ci'
;

 

tbl_board

CREATE TABLE `tbl_board` (
	`idx` INT(11) NOT NULL AUTO_INCREMENT COMMENT '게시물아이디',
	`title` VARCHAR(300) NULL DEFAULT NULL COMMENT '제목',
	`contents` VARCHAR(4000) NULL DEFAULT NULL COMMENT '내용',
	`count` INT(11) NULL DEFAULT NULL COMMENT '조회수',
	`writer` VARCHAR(50) NULL DEFAULT NULL COMMENT '등록자',
	`indate` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일',
	PRIMARY KEY (`idx`)
)
COLLATE='utf8_general_ci'
;

 

tbl_reply

CREATE TABLE `tbl_reply` (
	`idx` INT(11) NOT NULL COMMENT '게시물아이디',
	`seq` INT(11) NOT NULL COMMENT '순번',
	`reply` VARCHAR(1000) NULL DEFAULT NULL COMMENT '댓글',
	`writer` VARCHAR(50) NULL DEFAULT NULL COMMENT '작성자',
	`indate` DATETIME NULL DEFAULT NULL COMMENT '작성일',
	PRIMARY KEY (`idx`, `seq`)
)
COLLATE='utf8_general_ci'
;

 

tbl_user

CREATE TABLE `tbl_user` (
	`user_id` VARCHAR(30) NULL DEFAULT NULL COMMENT '아이디',
	`user_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '이름',
	`password` VARCHAR(20) NULL DEFAULT NULL COMMENT '비밀번호',
	`use_yn` VARCHAR(1) NULL DEFAULT NULL COMMENT '사용여부'
)
COLLATE='utf8_general_ci'
;

 

tbl_user에 샘플 데이터 추가

tbl_user 테이블에서 '데이터' 탭에 가서 우클릭 하고 '행 삽입'

INSERT INTO tbl_user VALUES ("admin","관리자","1234","Y");
INSERT INTO tbl_user VALUES ("guest","사용자","1234","Y");

 

(4) Maven 설정

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev3.9:gettingstarted

다운로드

settings.xml에서 다른건 다 주석처리...
주석처리 안 된 건 repository를 바꿔주는거 한 줄이다. (기본 디렉토리는 ~/.m2/repository)

온라인 환경이면 pom.xml에 올려놓은 dependency가 온라인으로 자동 설치된다.
오프라인 환경일 경우는 직접 repository에 파일 추가한다.

1 위에 설치한 전자정부 폴더 안에 maven 폴더 만들기
2 maven 폴더 안에 (4) 링크에서 받은 settings.xml 파일 넣기(디렉토리 수정)

<settings> 
  <!-- localRepository 
   | The path to the local repository maven will use to store artifacts. 
   | 
   | Default: ~/.m2/repository 
  <localRepository>/path/to/local/repo</localRepository> 
  --> 
  <localRepository>C:/eGovFrameDev-3.9.0-64bit/maven/repository</localRepository>

위아래 전부 주석이다... 유일하게 살아있는 코드는 이거다 maven repository(빨간색)를 설정해주면 된다.

3 2에서 만든 settigns를 내 이클립스(전자정부)의 maven settigns로 설정한다.

이런식으로 한다



4 (오프라인 환경일 경우만 한다) maven 폴더 안에 repository 폴더 만들고 (4) 링크에서 받은 'maven_repository_3_9' 폴더 안에 있는거 복사하기(이 repository 경로는 위에 settings.xml이 설정)

 

(5) tomcat 톰캣 서버 설정

톰캣 홈페이지에서 다운로드 하고 서버에(Preferences > Server > Runtime Environments) 추가... 스프링 수업때 하던거 그대로 하면 됨

 

(6) MariaDB 데이터베이스 설정

Data Source Explorer > Database Connections > New

'MySQL' 선택하고 Next

'New' 빨간색 표시 버튼 누르기

'Name/Type' 탭에서 시스템 버전에 맞게 선택(일치하는 버전이 없다면 그 중 최신으로 선택) 

'JAR List' 탭 가서 기존꺼 삭제, 'Add JAR/Zip'

(4) 2에서 설정한 경로에 들어가서 repository 내에 mysql을 찾아 들어가서 connector 안에 jar 파일을 찾아서 선택한다. (만약 repository에 mysql이 없다면 pom.xml dependency에서 mysql을 확인한다.)

C:/eGovFrameDev-3.9.0-64bit/maven/repository/mysql/mysql-connector-java/5.1.31

선택하면 DB 설정으로 넘어간다

cf. jdbc:mysql://[host][,failoverhost...][:port]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

 

(3)에서 설치할 때 입력한 ID, PW, 포트번호 그리고 (3)에서 만든 Database 이름을 넣고 테스트를 한다.

테스트 후 Finish!!

 

(7) 프로젝트 생성 (게시판 예제)

1 eGovFrame > Start > New Web Project 또는 우클릭 > New > eGovFrame Web Project

'Next' 누르고 다음 화면에서 예제 생성한 다음 'Finish' 누르고 한참 걸림

2 pom.xml 수정

안에 dependency 보면 주석된 부분이 있다. 그 중 가장 하단 ojdbc 오라클만 남기고 주석 해제

        <!-- mysql이나 oracle DB 사용시 아래 설정 추가  
        <dependency>
            <groupId>com.googlecode.log4jdbc</groupId>
            <artifactId>log4jdbc</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.31</version>
        </dependency>

        <dependency>
            <groupId>ojdbc</groupId>
            <artifactId>ojdbc</artifactId>
            <version>14</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc-14.jar</systemPath>
        </dependency>
        -->

이거를

        <dependency>
            <groupId>com.googlecode.log4jdbc</groupId>
            <artifactId>log4jdbc</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.31</version>
        </dependency>

	<!-- 오라클 주석처리
        <dependency>
            <groupId>ojdbc</groupId>
            <artifactId>ojdbc</artifactId>
            <version>14</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc-14.jar</systemPath>
        </dependency>
        -->

이렇게 바꾼다

 

(8) commom component 공통 컴포넌트 추가

프로젝트 우클릭 > New > eGovFrame Common Component

'게시판' 하나만 누르면 나머지 알아서 선택된다 그리고 Next >

아래 표시 순서대로 진행

'OK' 선택

 

(9) resources > egovframwork 공통 컴포넌트 상용자화 1
     globals.properties (DB 접속 정보 수정)

src > main > resources > egovframework > egovProps 안에

globals.properties

#mysql
Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3306/com
Globals.mysql.UserName =test
Globals.mysql.Password =xz4fmrSdr1vGGl6UtwPLwA%3D%3D

# 파일 업로드 경로(경로 설정은 반드시 절대경로를 사용해야함, 경로 뒤에 /를 붙여 주어야함.)
Globals.fileStorePath =C:/egovframework/upload/
# 업로드 URL 경로 암호화 KEY
#Globals.filePath.Encryption.key = 10자리이상,알파벳 및 숫자 및 특수기호 혼용하여 키를 지정한다. 
# 파일 확장자 화이트리스트(허용목록) : 파일 확장자를 (.)과 함께 연이어서 사용함. 
Globals.fileUpload.Extensions =.gif.jpg.jpeg.png
Globals.fileUpload.maxSize =1048576
Globals.fileDownload.Extensions =.gif.jpg.jpeg.png

이 부분을 수정해야한다.

#mysql
Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3308/test
Globals.mysql.UserName =root
Globals.mysql.Password =root

# 파일 업로드 경로(경로 설정은 반드시 절대경로를 사용해야함, 경로 뒤에 /를 붙여 주어야함.)
Globals.fileStorePath =C:/eGovFrameDev-3.9.0-64bit/upload/
# 업로드 URL 경로 암호화 KEY
#Globals.filePath.Encryption.key = 10자리이상,알파벳 및 숫자 및 특수기호 혼용하여 키를 지정한다. 
# 파일 확장자 화이트리스트(허용목록) : 파일 확장자를 (.)과 함께 연이어서 사용함. 
Globals.fileUpload.Extensions =.gif.jpg.jpeg.png.zip.mp3.mp4.m4v.m4a.aac.7z.tar
Globals.fileUpload.maxSize =1048576
Globals.fileDownload.Extensions =.gif.jpg.jpeg.png.zip.mp3.mp4.m4v.m4a.aac.7z.tar

cf. jdbc:mysql://[host][,failoverhost...][:port]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

 

(10) resources > egovframwork 공통 컴포넌트 상용자화 2
    안 쓰는 mapper 맵퍼 삭제

resources > egovframework > mapper가 있다. 여기서 공통 컴포넌트가 자동 생성한 com 하위 디렉토리를 모두 열어 사용 예정인 DB를 제외한 맵퍼는 모두 삭제한다. 해당 예제에서는 mysql을 제외하고 모두 삭제하면 된다.

 

(11) resources > egovframwork 공통 컴포넌트 상용자화 3
      spring 수정 (context-crypto.xml, context-datasource.xml)

 

context-crypto.xml > 'false'로 수정

context-datasource.xml

<property name="password" value="#{egovEnvCryptoService.getPassword()}"/> 를

<property name="password" value="${Globals.mysql.Password}"/> 로 수정.

 

 

(12) webapp > bootstrap 부트스트랩, jQuery 설치

1 부트스트랩 압축 파일 다운 받고 폴더 이름 'bootstrap' 변경

board > src > webapp에 가서

css 안에 'bootstrap' 폴더 복사

js 안에 jQuery 파일 복사

 

 

2020/07/09 - [메모들...] - 전자정부 프레임 시작하기 2 (게시판 예제)

 

전자정부 프레임 시작하기 2 (게시판 예제)

 

greendreamtrre.tistory.com

 

+ Recent posts