(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
'개발자 > Java' 카테고리의 다른 글
Java (자바) CRUD 정리 1 Create Table(객체데이터, fieldString, Generic) (0) | 2020.09.02 |
---|---|
전자정부 프레임 시작하기 2 (게시판 예제) (0) | 2020.07.09 |
리눅스에서 자바 설치 openjdk 내려받기 (0) | 2020.06.30 |
Java (자바) Spring 기초 - 회원가입 페이지 만들기 (CRUD Users 06.02) (0) | 2020.06.07 |
Java (자바) Read-only file system 오류 (0) | 2020.06.07 |