Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Development Log

[eGovFram] Template Project 생성 및 DB 설정 본문

성장 여행기/eGovFrame

[eGovFram] Template Project 생성 및 DB 설정

gu-su 2022. 4. 11. 01:28

1. Simple Homepage 프로젝트 생성

  • 단순 홈페이지 기능 구현시 필수적인 부분만 사용 가능하도록 경량화 된 실행환경을 제공한다.
  • 메인페이지, 사용자관리, 공지사항 관리, 게시판 관리, 안내 관리 기능을 제공한다.

프로젝트 생성 방법

 

패키지 구조

패키지 뷰를 계층 구조(hierarchical)로 보는 방법 

 

egovframework:com:v2:init_deploy_file [eGovFrame]

배포파일을 구성할 때에 패키지간의 종속성과 업무적 연관성을 포함하여 구성하였다. 한 개의 배포파일은 독립적으로 설치하여 동작할 수 있으며, 2개 이상의 배포파일을 설치할 때에는 환경설

www.egovframe.go.kr

 

2. Servers 추가 (Apache Tomcat)

1. 새로운 서버 추가하기
2. 하나의 프로젝트에 하나의 서버로 연결하기

 

서버 포트 수정

  • 톰캣은 기본적으로 8080포트를 이용해 통신을 수행한다.
  • 접근의 편의성을 위해서 80포트를 사용한다.

 

8080포트와 80포트의 차이 

8080 포트 http://localhost:8080/sht_webapp/cmm/main/mainPage.do
80 포트 http://localhost/sht_webapp/cmm/main/mainPage.do

80포트는 http의 기본 포트이므로 접속시에 :80이 필요없다. (즉, 생략이 가능하다.)

※ https의 기본 포트는 443이다.

 

 

1. Overview를 누른다.
2. 기본 설정이 8080 포트를 80포트로 변경한다.

 

 

80포트로 설정했을 때, 정상적으로 동작하지 않는 이유

  • 보안의 문제로 리눅스, 유닉스는 1024 이하의 포트들은 일반 유저 권한에서 바인딩 할 수 없도록 되어있다.
  • root권환으로 구동되게 한다면 80포트에 바인딩하여 통신이 가능하다.
  • 톰캣서버는 웹을 이용한 해킹을 방지하기 위해 구동시 tomcat 유저 권한으로 구동한다. 
  • tomcat 유저 권한으로 동작하는 톰캣 서버는 공격을 받아도 tomcat 유저 권한에 해당하는 부분까지만 접근 가능하기 때문에 root 권한으로 구동되는 것보다는 안전하다고 할 수 있다.
  • 이럴경우 포트 포워딩을 통해 해결한다고 한다.

 

 

TCP/UDP의 포트 목록 - 위키백과, 우리 모두의 백과사전

잘 알려진 포트(well-known port)는 특정한 쓰임새를 위해서 IANA에서 할당한 TCP 및 UDP 포트 번호의 일부이다. 일반적으로 포트 번호는 다음과 같이 세 가지로 나눌 수 있다. 0번 ~ 1023번: 잘 알려진 포

ko.wikipedia.org

 

Path 수정

 

3. DB 설정

[ pom.xml ]

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.16</version>
</dependency>

 

[ globals.properties ]

# G4C 연결용 IP (localhost)
Globals.LocalIp = 127.0.0.1

# DB서버 타입(mysql,oracle,altibase,tibero) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mysql
Globals.UserName=사용자 입력
Globals.Password=암호 입력

# mysql
Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.Url=jdbc:mysql://127.0.0.1:3306/데이터베이스명

 

[ context-datasource.xml ]

<!-- mysql 제외하고 주석 -->
<!-- hsql -->
<!--     <jdbc:embedded-database id="dataSource-hsql" type="HSQL">
    <jdbc:script location= "classpath:/db/shtdb.sql"/>
</jdbc:embedded-database> -->

<!-- <bean id="dataSource-hsql" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>
    <property name="url" value="jdbc:log4jdbc:hsqldb:hsql://localhost/sampledb"/>
    <property name="username" value="sa"/>
</bean> -->

<!-- mysql -->
<bean id="dataSource-mysql" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${Globals.DriverClassName}"/>
    <property name="url" value="${Globals.Url}" />
    <property name="username" value="${Globals.UserName}"/>
    <property name="password" value="${Globals.Password}"/>
</bean>

 

 

 

 

전자정부 프레임워크 - simple homepage Mysql로 변경

전자정부 프레임워크의 Simple homepage는 default로 hsql로 되어있다. 이것을 mysql로 바꾸려면 기존 hsql로 되어있는 설정을 mysql로 바꾸면 된다. (hsql의 GlobalsDriverClassName, Blobals.Url 은 지우거나 주..

nobang.tistory.com