ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 전자정부프레임워크를 이용 쇼핑몰 만들기 #1
    자바웹프로그래밍/전자정부프레임워크 2020. 4. 15. 23:55
    728x90
    반응형

    hipdizzy.tistory.com/15?category=846576

     

     

    전자정부프레임워크 뼛속까지 알아보자#1 -기본 셋팅편 part1

    앞으로 기관에서 만든 전자정부프레임워크를 공부해갈것이다. 일단 전자정부홈페이지에 들어가보자 https://www.egovframe.go.kr/ eGovFrame Portal 온라인 지원 포탈 묻고 답하기 더보기 자주하는 질문 더

    hipdizzy.tistory.com

    *도움이 되셨다면 광고 한번 클릭 부탁드립니다! 제게 큰 힘이됩니다!

     

     

    1.준비사항

    정부프레임워크사이트에 들어가서 egovframe 개발자교육 패키지와 보안패키지를 다운받는다.(현 블로그 위의 링크를 타서 all-in-one 패키지를 다운받자.)

     

    세개를 다운받는다 DB는 MYSQL 8.0.19 최신버전이다. DB 툴은 WORKBENCH(MYSQL을 설치하다보면 툴설치 제공도해준다.)로 사용한다.

     

     

     

    2.DB 설정

    정부프레임워크는 DB DDL(DAta Definition Language) 와 DML(Data Manipulation Language) 내용들이

    다 들어가있다.

     

    먼저 정브푸레임워크에서 다운받은 교육자료 패키지에 이클립스를 열어보자 이클립스를 열면 아래 이미지와 같이여러

    가지 교육샘플들이 있는데 무시하고 우린 file -> new -> egovFrame web project를 눌른뒤 패키지를 만들자만든후

    workspace.edu 폴더에 egov패키지(자신이 만든 패키지이름) 이 있을것이다

     

     

    그 후 정부프레임워크에서 받은

     

    공통컴포넌트 3.8.0 all-in-one 패키지를 압축을 푼후 안에있는

     

    script , src , pom.xml을 잘라내기해서 egov 패키지 안에  붙여넣는다. (보안 패치 및 올인원 패키지를 넣을려고한다.)

     

     

     

     

     

    이 올인원 패키지 안에는 DDL 과 DML 등 DB 초기 설정내용들이 들어있기때문에 꼭 넣어줘야 게시판 만들기 진행이 가능하다.

    그후 script를에서  ddl 및 dml을 모두 실행해준다.

     

     

     

     

     

     

     

     

    스크립트들을 실행 되면 왼쪽과 같이 테이블들이 정의된것을 볼수있다.

    우리는 이중에서 실질적인 게시판에 필요한

    comtnbbs(게시판 테이블) ,comtnbbsmaster(게시판 종류 정의 테이블)

    comtncomment(댓글 테이블)

    이 세개를 중점적사용할것이다.

     

     

     

     

     

     

     

     

     

     

     

    자 이제 실질적으로 DB와 정부프레임워크를 연동해보자

     

     

     

     

     

    두개의 globals.properties와 context-datasource.xml 을 수정할것이다.

     

     

     

     

     

     

     

     

     

     

     

     

    globals.properties를 하자

    Globals.ostype은 windows 로 바꿔준다 unix를 사용하는 경우에는 그대로 둔다.

    Globals.Auth를 함께 건드려줄건데

    이건 로그인 관련 내용이고 우리는 게시판 중점적으로 만들기때문에 dummy형식으로 인증을 받아서

    자동으로 로그인 할수있도록 만들것이다.

    그아래에 mysql 설정이있고 username 과 password를 자신의 mysql계정으로 바꿔주면 된다.

     

     

     

     

    context-dataousrce.xml에 있는 설정내용중 mysql을 제외한 beans들을 모두 주석처리해준다.!

     

     

    그 후 아래와 같이 pom.xml에서 mysql 8.0.19(자신의 mysql 버전) 으로 변경해주고 

     

    프로젝트 오른쪽 클릭후 run as -> maven clean, maven install을 한번씩 해주자

     

    이때 이클립스 위쪽에 project -> build autometiclly를 설정을 풀어줘야한다 이기능은 자동으로 build 해주는건대

     

    이게 체크되어있으면 사실 maven claean ,maven install을 할 이유가없기에 체크를 푼뒤 한번 클린 인스톨해주고

     

    완료하면 체크해주자

     

     

    이젠 서버 설정을 하자 

     

    Servers 탭을 클릭(Servers 탭이 안보이면 window-> show view -> server ) Tomcat v8.0을 더블 클릭한후 modules을

     

    클릭 Add Web Module 클릭 modules 에 egov(자신이 만든 패키지이름) 클릭한후  ok눌르면 아래와 같은 모습이 나오고

     

    위 사진과같이 timeouts을 500으로 맞춰주고 http서버 웹서버를 8080으로 만들어주자

     

    그리고 난뒤 서버 오른쪽 클릭후 start 하자 만약 에러가 나오면

     

    server 오른쪽 클릭후 clean을 한번 누른뒤 실행해보자

     

    만약 아래와같은 에러가 발생한다면

     

    [ERROR] Failed to execute goal on project sample: Could not resolve dependencies for project egov:sample:war:3.5.0: Failed to collect dependencies at net.sf.ehcache:ehcache-terracotta:jar:2.1.1: Failed to read artifact descriptor for net.sf.ehcache:ehcache-terracotta:jar:2.1.1: Failure to find org.terracotta.forge:forge-parent:pom:2.0 in http://repo1.maven.org/maven2/  was cached in the local repository, resolution will not be reattempted until the update interval of mvn2 has elapsed or updates are forced -> [Help 1]

    [ERROR] 

    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

    [ERROR] Re-run Maven using the -X switch to enable full debug logging.

    [ERROR] 

    [ERROR] For more information about the errors and possible solutions, please read the following articles:

    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

    maven 명령을 실행할 때 workspace에 있는 프로젝트를 참조하지 못 해서 발생하는 경우이다. 해결 방법은.. 이클립스 maven 플러그인의 실행 화면(프로젝트 오른쪽 클릭 -> Run As -> Run Configurations...)에서 Profiles 설정 아래에 있는 "Resolve Workspace artifacts"에 체크를 해주면 된다.

     

    이제는 될줄알았는데 서버를 실행시키니 .. 이번에는 mysql  servertime 에러가 떴다.

     

    해결방안은 globals.properties에 serverTimezone=UTC를 추가해주어야한다. 그후 서버를 실행한뒤

     

    localhost에 접속하면  더미사용자로 잘 접속하는것을 볼수있다.

     

    다음 시간에는 게시판 뼈대를 만들 작업을 하겠다.

     

     

     

     

     

    728x90
    반응형
Designed by Tistory.