POWERMDD.BMS

1. SQL 디렉토리 (Schema, Sequence, Data)

POWERMDD의 데이터베이스는 Meta DB, 업무 DB 2가지 종류가 있습니다.

1) Meta DB 세팅 Ex) PostgreSQL 사용
POWERMDD 서버에 있는 모든 정보 체계를 저장하고 있는 데이터베이스입니다.

(1) User 계정 생성 Ex) 계정 : democtl

① 계정 생성 전에 모든 권한이 설정된 계정으로 로그인합니다.

② Meta DB 세팅할 데이터베이스에 접속합니다.

③ Meta DB에 사용할 계정을 생성하면서 권한도 같이 할당해줍니다.

Remark

  • superuser : 권한(룰) 부여

④ 생성한 계정에 사용할 암호를 입력합니다.

⑤ 데이터베이스를 생성하고 생성한 데이터베이스에 소유자를 생성한 계정으로 지정합니다. 단, 데이터베이스는 superuser만 생성할 수 있습니다.

Remark

  • database database명 : 데이터베이스명
  • owner 계정명 : 소유자명
  • encoding ‘UTF8’ : 인코딩 UTF8 지정
  • template template0 : 템플릿 데이터베이스, 초기 Object만으로 구성된 데이터베이스 템플릿

⑥ 데이터베이스 목록을 조회하여 잘 생성되었는지 확인합니다.

(2) 데이터베이스 세팅

① 데이터베이스 Tool을 이용해서 Meta DB에 접속합니다.

② POWERMDD의 정보들을 저장할 수 있는 Meta DB에 들어갈 테이블들을 생성합니다.
(POWERMDD BMS > SQL > 1. Scherma.sql 첨부)

③ 테이블에 들어갈 값들 중에 유일한 값, Primary key 값을 생성하기 위해 Sequence도 생성합니다. (POWERMDD BMS > SQL > 2. Sequence.sql 첨부)

④ 생성한 테이블에 기본적으로 들어갈 데이터를 insert하여 commit합니다.
(POWERMDD BMS > SQL > 3. DATA.sql 첨부)

Remark

insert하기 전에 SYSID, GROUPID 컬럼에 들어갈 값을 PROJECT명으로 변경합니다.


2) 업무 DB 세팅 Ex) MySQL 사용
해당 업무 서버에 있는 모든 정보 체계를 저장하고 있는 데이터베이스입니다.

(1) User 계정 생성 Ex) 계정 : demo

① 업무 DB 세팅할 데이터베이스에 접속합니다.

② 계정정보를 생성하기 위해 데이터베이스로 접속합니다.

③ Meta DB에 사용할 계정을 생성과 사용할 암호를 입력합니다.

Remark

  • 내부IP접속 : ‘계정ID’@localhost
  • 외부IP접속 : ‘계정ID’@‘%’

④ 새로운 데이터베이스를 생성합니다.

⑤ 생성한 데이터베이스 및 테이블에 권한을 주고 로컬 및 원격에서도 접속이 가능하도록 설정합니다.

⑥ 설정한 권한을 적용합니다.

⑦ 데이터베이스 목록을 조회하여 잘 생성되었는지 확인합니다.

2. BMSCTX.zip 파일

WAS에 탑재되는 Middleware 서버로 다수의 클라이언트(DX)로부터 다양한 요청에 대하여 필요한 기능을 제공합니다.

1) BMSCTX : CONTEXT 구성

(1) POWERMDD를 실행할 파일들이 들어있는 BMSCTX 디렉토리를 WAS 설치 경로에 세팅합니다.

2) processBuilder_config.xml : BMSCTX 환경파일 세팅

(1) 먼저 BMSCTX 세팅하기 전에 PMDD 디렉토리 안에 개발에 대한 자바, xml 소스, 여러 가지 파일들을 저장할 수 있는 디렉토리를 생성합니다.

(2) BMSCTX 디렉토리 안에 POWERMDD 실행환경 파일인 processbuilder_config.xml을 실행합니다. processbuilder_config.xml는 프로젝트, DB 정보, MAC 주소 등 등록하는 파일입니다.

(3) processbuilder_config.xml 안에는 <Projects>, <Common>, <CONNECTIONS>, <MAC>이 있습니다.

<?xml version="1.0" encoding="utf-8"?>
<Processbuilder Version="CL1">
  <!-- 1. -->
  <Projects>  </Projects>

  <!-- 2. -->
  <Common>  </Common>

  <!-- 3. -->
  <CONNECTIONS>  </CONNECTIONS>

  <!-- 4. -->
  <MAC>  </MAC>
</Processbuilder>

<Project>
개발할 프로젝트들을 등록하는 부분입니다.

<Common>

<CONNECTION>
Meta DB, 업무 DB 연결 정보를 설정하는 부분입니다.

<MAC>
POWERMDD를 사용할 사용자 MAC 주소를 입력하는 부분입니다.

Remark

MAC 주소를 등록하지 않고 POWERMDD 로그인을 하면 MAC 주소를 등록하라는 알림창이 나오면서 POWERMDD를 접속할 수 없습니다.

(4) <Projects>
<Projects> 안에 <사용할 PROJECT명> </사용할 PROJECT명>을 입력하고 <사용할 PROJECT명> 안에는 <DB-CONNECTION>, <DATAMODEL>, <UX-DESIGNER>, <FILESYSTEM-LOCATION>, <TEST-EXE>, <BUILD>, <SERVER>, <COMPILE>이 있습니다.

<!-- 1. -->
<Projects>
  <DEMO>
    <!-- 1. -->
    <DB-CONNECTION>      </DB-CONNECTION>

    <!-- 2. -->
    <DATAMODEL>      </DATAMODEL>

    <!-- 3. -->
    <UX-DESIGNER>      </UX-DESIGNER>

    <!-- 4. -->
    <FILESYSTEM-LOCATION>      </FILESYSTEM-LOCATION>

    <!-- 5. -->
    <TEST-EXE>      </TEST-EXE>

    <!-- 6. -->
    <BUILD>      </BUILD>

    <!-- 7. -->
    <SERVER>      </SERVER>

    <!-- 8. -->
    <COMPILE>      </COMPILE>
  </DEMO>
</Projects>

<DB-CONNECTION>
Meta DB, 업무 DB의 별칭을 입력하는 부분입니다.

<!-- 1. -->
<DB-CONNECTION>
  <WASTYPE>tomcat</WASTYPE>
  <CONTROL_DB>DEMOCTL</CONTROL_DB>
  <DEFAULT_DB>DEMODB</DEFAULT_DB>
  <TEST_DB>TESTDB</TEST_DB>                  
</DB-CONNECTION>
  • <WASTYPE> : 현재 사용하고 있는 WAS를 설정합니다.

  • <CONTROL_DB> : Meta DB의 별칭을 설정합니다.

  • <DEFAULT_DB> : 업무 DB의 별칭을 설정합니다.

  • <TEST_DB> : Service Model 테스트 시 추가 연결 DB의 별칭을 설정합니다.

<DATAMODEL>
POWERMDD 구성요소에 Data Model의 파일들을 저장하는 부분입니다.

<!-- 2. -->
<DATAMODEL>
  <MODELDATA>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/ModelData</MODELDATA>
  <MODELHISTORY>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/ModelHistory</MODELHISTORY>
</DATAMODEL>
  • <MODELDATA> : Data Model에 파일들을 저장되는 경로입니다.

  • <MODELHISTORY>
    Data Model의 내역들이 저장되는 경로입니다. 만약 저장했던 파일이 깨지거나 저장하기 전으로 돌리고 싶다면 해당 경로로 들어와서 수정할 수 있습니다.

Remark

  • 해당 경로에 ModelData와 ModelHistory 디렉토리를 생성해야합니다.

  • ModelData 디렉토리 안에는 DataModelInfo.xml 파일을 꼭 넣어야 합니다. DataModelInfo.xml은 데이터베이스에 따라 쿼리를 변경하거나 Data Model에 필요한 정보들이 있기 때문에 꼭 필요합니다.

<UX-DESIGNER>
Context 경로나 문자 셋, 화면 IP Port 정보를 설정하는 부분입니다.

<!-- 3. -->
<UX-DESIGNER>
  <UX_TEMP_FOLDER>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/temp</UX_TEMP_FOLDER>
  <UX_MENU_FILE>wizdesigner.xml</UX_MENU_FILE>
  <UX_ROOT>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/layout</UX_ROOT>
  <UX_CONTEXT_ROOT>/.../tomcat9/webapps/DEMO</UX_CONTEXT_ROOT>
  <UX_ContextPath>DEMO</UX_ContextPath>
  <UX_Server>XXX.XXX.XXX.XXX:XXXX</UX_Server>
  <UXResponseCharset></UXResponseCharset>
  <UXRequestCharset></UXRequestCharset>
  <GROUP_PAGECOUNT>10</GROUP_PAGECOUNT>
  <UI></UI>
</UX-DESIGNER>
  • <UX_ROOT>
    POWERMDD 기능 요소 중 View Designer의 내역들이 저장되는 경로입니다. 만약 저장했던 파일이 깨지거나 저장하기 전으로 돌리고 싶다면 해당 경로로 들어와서 수정할 수 있습니다.

  • <UX_CONTEXT_ROOT> : Context 경로입니다.

  • <UX_ContextPath> : Context Path를 나타냅니다.

  • <UX_Server> : 화면 IP와 Port 정보를 입력합니다.

  • <UXResponseCharset> <XRequestCharset> : Character set을 설정합니다.

Remark

해당 경로에 temp와 layout 디렉토리를 생성해야합니다.

<FILESYSTEM-LOCATION>
서버 파일 시스템의 파일 시스템 위치를 설정합니다.

<!-- 4. -->
<FILESYSTEM-LOCATION>
  <META-LOCATION>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/bms</META-LOCATION>
  <DOC-LOCATION>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/doc</DOC-LOCATION>
  <DOC-BOARD-ROOT>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/doc</DOC-BOARD-ROOT>
  <BACKUP-META>/.../tomcat9/webapps/PMDD/DEMO/backup</BACKUP-META>
</FILESYSTEM-LOCATION>

Remark

해당 경로에 bms, doc, backup 디렉토리를 생성해야합니다.

<TEST-EXE>
Query Developer 테스트 시 ROW 크기를 설정합니다.

<!-- 5. -->
<TEST-EXE>
  <MAXLOOPCNT>50</MAXLOOPCNT>
  <RECORDSIZE>5000</RECORDSIZE>    
  <LOCALON>YES</LOCALON>
</TEST-EXE>

<BUILD>
POWERMDD 빌드 시 생성되는 소스 위치를 설정합니다.

<!-- 6. -->
<BUILD>
  <SRCTYPE>EGOV</SRCTYPE>
  <SRCVERSION>4</SRCVERSION>               
  <BATCHSRCTYPE>bean</BATCHSRCTYPE>
  <DATAACCESS>MYBATIS</DATAACCESS>
  <SQLSESSION></SQLSESSION>
  <GENLOCATION>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/tlog</GENLOCATION>
  <CURRENTGEN>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/rsrc</CURRENTGEN>
  <SQLLOCATION>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/xmlctl</SQLLOCATION>
  <RUNNINGCLASS>/.../tomcat9/webapps/DEMO/WEB-INF/classes</RUNNINGCLASS>
  <CLASSLOADER>WAS</CLASSLOADER>
  <HISTORYGEN>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/hsrc</HISTORYGEN>
  <XML>YES</XML>
  <USER-EXCEPTION>YES</USER-EXCEPTION>
  <USER-TRANSACTION>YES</USER-TRANSACTION>
  <TRANSACTIONMANAGER>txManager</TRANSACTIONMANAGER>
  <XMLBUILDTYPE>YES</XMLBUILDTYPE>
  <SoruceCharset></SoruceCharset>
  <GEN2Charset>YES</GEN2Charset>
  <EGOVFRAMEWORK>
    <REQUESTMAPPING_RULE>/{CLASS}_{SERVICEID}.sa</REQUESTMAPPING_RULE>
    <CONTEXT_XML_HOME>/.../tomcat9/webapps/DEMO/WEB-INF/classes/spring</CONTEXT_XML_HOME>
    <SQL_MAP_ROOT>/.../tomcat9/webapps/DEMO/WEB-INF/classes/sqlmap/sql</SQL_MAP_ROOT>
    <EBUILD_SQLMAP_LEVEL>1</EBUILD_SQLMAP_LEVEL>
    <EBUILD_JAVA_CONTROL>web</EBUILD_JAVA_CONTROL>
    <EBUILD_JAVA_SERVICE>service</EBUILD_JAVA_SERVICE>
    <EBUILD_JAVA_DAO>dao</EBUILD_JAVA_DAO>
    <EBUILD_JAVA_IMPL>Impl</EBUILD_JAVA_IMPL>
    <MYBATIS_SESSION_MANAGER>mybatis.sample.SqlSessionManager</MYBATIS_SESSION_MANAGER>
    <DATASOURCE>context-datasource.xml</DATASOURCE>
    <CONTEXT_SQLMAP>context-sqlMap.xml</CONTEXT_SQLMAP>
    <ANNOTATION_RULE>{CLASS}{MENUID}</ANNOTATION_RULE>
    <SQL_MAP_NAMESPACE_RULE>{CLASS}_{MENUID}</SQL_MAP_NAMESPACE_RULE>
    <SQL_MAP_ROOT_PATHNAME>sqlmap/sql</SQL_MAP_ROOT_PATHNAME>
    <SQL_MAP_DTD_URL>http://mybatis.org/dtd/mybatis-3-mapper.dtd</SQL_MAP_DTD_URL>
    <SQL_MAP_DTD_ORG>-//mybatis.org//DTD Mapper 3.0//EN</SQL_MAP_DTD_ORG>
    <SQL_MAP_CONFIG_DTD_URL>http://mybatis.org/dtd/mybatis-3-config.dtd</SQL_MAP_CONFIG_DTD_URL>
    <SQL_MAP_CONFIG_DTD_ORG>-//mybatis.org//DTD Config 3.0//EN</SQL_MAP_CONFIG_DTD_ORG>
  </EGOVFRAMEWORK>
</BUILD>
  • <SRCTYPE> : 빌드 타입을 설정합니다.

  • <SRCVERSION> : MyBatis, 전자정부 최신 소스 버전을 설정합니다. SRCVERSION이 생략된 경우 기본값은 3버전으로 설정됩니다.

  • <DATAACCESS> : iBatis 또는 MyBatis를 설정합니다.

  • <GENLOCATION>, <CURRENTGEN> : 빌드 시 자바 소스가 저장되는 경로입니다.

  • <SQLLOCATION> : 빌드 시 xml 소스가 저장되는 경로입니다.

  • <RUNNINGCLASS> : 빌드 시 class파일이 저장되는 경로입니다.

  • <HISTORYGEN> : 빌드 시 소스 떨어지는 경로입니다.

  • <REQUESTMAPPING_RULE> : 리퀘스트 매핑 네이밍 규칙을 설정합니다.

  • <CONTEXT_XML_HOME> : 스프링 xml 경로를 설정합니다.

  • <SQL_MAP_ROOT> : sql map 소스가 떨어지는 경로입니다.

  • <EBUILD_.....> : MVC 모델 소스 네이밍을 설정합니다.

  • <DATASOURCE> : DB 연결 정보 xml파일입니다.

  • <CONTEXT_SQLMAP> : 쿼리 정보 xml파일입니다.

  • <ANNOTATION_RULE> : 어노테이션 네이밍 규칙을 설정합니다.

  • <SQL_MAP_NAMESPACE_RULE> : sql문 네이밍 룰 규칙을 설정합니다.

  • <SQL_MAP_ROOT_PATHNAME> : sql문 xml 소스를 저장하는 경로입니다.

  • <SQL_MAP_DTD_URL>, <SQL_MAP_DTD_ORG>, <SQL_MAP_CONFIG_DTD_URL>, <SQL_MAP_CONFIG_DTD_ORG> : ibatis 환경을 설정합니다.

Remark

해당 경로에 tlog, rsrc, xmlctl, hsrc 디렉토리를 생성해야합니다.

<SERVER>
해당 서버의 정보들을 설정합니다.

<!-- 7. -->
<SERVER>
  <REAL_COPY_TYPE>FTP</REAL_COPY_TYPE>
  <REAL_SQL_MAP_ROOT>/TEST/SQL</REAL_SQL_MAP_ROOT>
  <REAL_CLASS_ROOT>/TEST/UUU</REAL_CLASS_ROOT>
  <REAL_IP>XXX.XXX.XXX.XXX</REAL_IP>
  <REAL_ID>서버 계정 ID</REAL_ID>
  <REAL_PWD>서버 계정 암호</REAL_PWD>
</SERVER>
  • <REAL_COPY_TYPE> : 서버 프로토콜 타입을 설정합니다.

  • <REAL_IP> : 서버 IP 정보를 설정합니다.

  • <REAL_ID> : 서버 계정 ID을 설정합니다.

  • <REAL_PWD> : 서버 계정 암호를 설정합니다.

<COMPILE>
POWERMDD 컴파일 시 생성되는 소스 위치를 설정합니다.

<!-- 8. -->
<COMPILE>
  <BUILD></BUILD>
  <CLASSPATH>/.../tomcat9/webapps/DEMO/WEB-INF/classes</CLASSPATH>
  <OPTION></OPTION>
  <LIB>/.../tomcat9/webapps/BMSCTX/jclib</LIB>
  <EXTDIR>false</EXTDIR>
  <DELIM>:</DELIM>
</COMPILE>
  • <CLASSPATH> : 컴파일한 Class Path 정보를 설정합니다.

  • <LIB> : POWERMDD 빌드 시 필요한 jar 파일 참조 경로를 설정합니다.

(5) <Common>

<!-- 2. -->
<Common>
  <ADMIN></ADMIN>
  <SECURITY>YES</SECURITY>
  <TEMPFOLDER>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/temp</TEMPFOLDER>
  <DxRequestCharset></DxRequestCharset>
  <DxResponseCharset>utf-8</DxResponseCharset>
  <InputCharSet></InputCharSet>
  <SoruceCharset>utf-8</SoruceCharset>
  <DebugOn>no</DebugOn>
  <CLASSAUTOLOAD>true</CLASSAUTOLOAD>
  <BUILDTYPE></BUILDTYPE>
  <NEWLINE>n</NEWLINE>
  <InputCharSet></InputCharSet>
  <BACKUP_DUMPFILE>/>/...//tomcat9/webapps/BMSCTX/PMDD/backup</BACKUP_DUMPFILE>
</Common>

(6) <CONNECTIONS>
<MetaDB>, <업무DB> 생성해서 연결정보를 설정합니다.

<!-- 3. -->
<CONNECTIONS>
  <DEMOCTL>
    <TYPE>direct</TYPE>
    <USER>DB계정</USER>
    <PASSWORD>DB계정 암호</PASSWORD>
    <LOOKUP_NAME>DEMOCTL</LOOKUP_NAME>
    <PATH>jdbc:postgresql://XXX.XXX.XXX.XXX:XXXX/democtl</PATH>
    <WAS>tomcat</WAS>
    <DATABASE>postgresql</DATABASE>
    <DRIVER> </DRIVER>
  </DEMOCTL>
  <DEMODB>
    <TYPE>direct</TYPE>
    <USER>DB계정</USER>
    <PASSWORD>DB계정 암호</PASSWORD>
    <LOOKUP_NAME>DEMODB</LOOKUP_NAME>
    <PATH>jdbc:mysql://XXX.XXX.XXX.XXX:XXXX/demo?useSSL=false</PATH>
    <WAS>tomcat</WAS>
    <DATABASE>mysql</DATABASE>
    <DRIVER>com.mysql.cj.jdbc.Driver</DRIVER>
    <NOTE>Window-Service:MySQL80</NOTE>
  </DEMODB>
</CONNECTIONS>
  • <USER> : DB 계정을 설정합니다.

  • <PASSWORD> : DB 계정의 암호를 설정합니다.

  • <PATH> : DB URL 정보를 설정합니다.

  • <WAS> : 사용하고 있는 WAS를 설정합니다.

  • <DATABASED> : 사용하고 있는 데이터베이스를 설정합니다.

  • <DRIVER> : JDBC 드라이버를 설정합니다.

(7) <MAC>

① MAC 주소를 등록하기 전에 등록할 PC의 CMD 창을 열어서 MAC주소를 확인합니다.

② 확인한 MAC주소를 등록합니다.

<!-- 4. -->
<MAC>
  <ADDRESS MAC="맥주소">PMDD</ADDRESS>
</MAC>

3) BMSCTX의 web.xml의 구성

(1) BMSCTX의 환경설정하기 위해 ‘BMSCTX/WEB-INF’에서 web.xml을 클릭합니다.

(2) HostName, TempUploadPath, FileRootPath을 설정합니다.

<init-param> 
    <param-name>HostName</param-name>
    <param-value>호스트명</param-value>
</init-param> 
<init-param>
    <param-name>RequestCharset</param-name>
    <param-value>UTF-8</param-value>
</init-param>
<init-param>
    <param-name>ResponseCharset</param-name>
    <param-value>UTF-8</param-value>
</init-param>

<init-param>
  <param-name>TempUploadPath</param-name>
  <param-value>/.../tomcat9/webapps/BMSCTX/temp</param-value>
</init-param> 
<init-param>
  <param-name>FileRootPath</param-name>
  <param-value>/.../tomcat9/webapps/BMSCTX/temp/files</param-value>
</init-param>  
  • HostName : 해당 서버의 HostName을 설정합니다.

  • TempUploadPath : 파일 업로드시 임시 업로드 파일 위치를 설정합니다.

  • FileRootPath : 서버 파일 시스템 관리의 파일 시스템의 root 위치를 설정합니다.

3. WebaApplication명.war 파일

lib, class, css, jsp 등 웹 애플리케이션 실행파일들의 보관 디렉토리입니다.

1) WebApplication : CONTEXT 구성
개발할 업무 디렉토리를 WAS 설치 경로에 세팅하고 해당 Project명으로 변경합니다.

2) web.xml의 구성

(1) 업무 디렉토리의 환경설정을 위해 ‘WebApplication명/WEB-INF’에서 web.xml을 클릭합니다.

(2) <display-name>을 설정합니다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="4.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
  <display-name>DEMO</display-name>

(3) encodingFiter와 View에서 action 처리하는 url-pattern를 설정합니다.

<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

....

<servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

Remark

BMSCTX폴더에 processbuilder_config.xml 파일에서도 <EGOVFRAMEWORK> ➝ <REQUESTMAPPING_RULE> 부분에도 설정하는 곳이 있습니다. 안 맞을 경우 오류날 수 있으니 확인해야합니다.

(4) XMLCTL에서 xml파일 경로를 설정합니다.

<init-param>
  <param-name>XMLCTL</param-name>
  <param-value>/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/xmlctl</param-value>
</init-param>

(5) FileUpload에서 임시로 저장될 경로와 파일 업로드할 경로를 설정합니다.

<servlet>
  <servlet-name>FileUpload</servlet-name>
  <servlet-class>egov.wizware.ria.FileUploadServlet</servlet-class>
  <init-param>
    <param-name>TEMP</param-name>
    <param-value>/.../tomcat9/webapps/DEMO/file/temp/</param-value>
  </init-param>
 <init-param>
    <param-name>REAL</param-name>
    <param-value>/.../tomcat9/webapps/DEMO/file/real/</param-value>
  </init-param>
 <init-param>
    <param-name>IMG</param-name>
    <param-value>file/real/</param-value>
  </init-param>
 <init-param>
    <param-name>IMGTEMP</param-name>
    <param-value>file/temp/</param-value>
  </init-param>
  <init-param> 
    <param-name>EXTENSION</param-name> 
    <param-value>jsp,java,com,exe,bat,class,java,jsp,html,js,css</param-value> 
  </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>FileUpload</servlet-name>
    <url-pattern>/FileUpload.fup</url-pattern>
</servlet-mapping>

3) spring 설정

(1) context-datasource.xml

① ‘WebApplication명/WEB-INF/classes/spring’에 들어가서 context-datasource.xml을 클릭합니다.

② 업무DB 데이터베이스를 추가한다. 계정과 계정암호는 globals.properties 부분에서 설정합니다.

<!-- 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>

(2) context-sqlMap.xml

① ‘WebApplication명/WEB-INF/classes/spring’에 들어가서 context-sqlMap.xml을 클릭합니다.

② sqlMap-Confing 경로를 변경합니다.

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource-mysql" />
  <property name="configLocation" value="classpath:sqlmap/sql/DEMO/DEMO-SqlMap-Config.xml" />
</bean> 

(3) context-transaction.xml

① ‘WebApplication명/WEB-INF/classes/spring’에 들어가서 context-transaction.xml을 클릭합니다.

② transaction 설정하는 곳에 dataSource와 expression를 변경합니다.

<!-- transaction 설정 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource-mysql"/>
</bean>

<tx:advice id="txAdvice" transaction-manager="txManager">
  <tx:attributes>
    <tx:method name="*" rollback-for="Exception"/>
    <tx:method name="*" propagation="REQUIRED" rollback-for="Throwable"/>
  </tx:attributes>
</tx:advice>

<aop:config>
  <aop:pointcut id="requiredTx" expression="execution(* DEMO..*Impl.*(..))"/>
  <aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
</aop:config>

(4) globals.properties

① ‘WebApplication명/WEB-INF/classes/spring/env’에 들어가서 globals.properties을 클릭합니다.

② 업무DB 데이터베이스의 정보들을 설정합니다.

Globals.OsType = UNIX
Globals.DbType = mysql
Globals.UserName=DB계정
Globals.Password=DB계정 암호

#mysql
Globals.DriverClassName=com.mysql.cj.jdbc.Driver
Globals.Url=jdbc:mysql://XXX.XXX.XXX.XXX:XXXX/demo?useSSL=false&autoReconnect=true&allowPublicKeyRetrieval=true
  • OsType : 해당 OS 타입을 WINDOWS 또는 UNIX 설정합니다.

  • DbType : 사용하고 있는 데이터베이스를 설정합니다.

  • UserName : 업무 DB 계정을 설정합니다.

  • Password : 업무 DB 계정의 암호를 설정합니다.

  • DriverClassName : 데이터베이스에 해당하는 드라이버를 설정합니다.

  • Url : 데이터베이스에 해당하는 Url 정보를 설정합니다.

(5) egov-com-servlet.xml

① ‘WebApplication명/WEB-INF/classes/spring/ServletInfo’에 들어가서 egov-com-servlet.xml을 클릭합니다.

② 패키지와 Ria부분을 수정합니다.

  • 패키지 내 Controller, Service, Repository 클래스의 auto detect를 위한 mvc 설정합니다.
<!-- 패키지 내 Controller, Service, Repository 클래스의 auto detect를 위한 mvc 설정 -->
<context:component-scan base-package="DEMO.*">
    <context:include-filter
        type="annotation"
        expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
  • property 정보들을 각각 설정합니다.
<!-- Ria 연결 -->
<bean id="riaAdaptor" class="egov.wizware.ria.UIWizAdaptor">
    <property name="devlog" value="yes"/>
    <property name="errorlog" value="yes"/>
    <property name="trace" value="yes"/>
    <property name="session" value="false"/>
    <property name="sysid" value="DEMO"/>
    <property
        name="xmlctl"
        value="/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/xmlctl"/>
    <property
        name="exceldown"
        value="/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/Temp"/>
    <property name="dbdriver" value="org.postgresql.Driver"/>
    <property name="dburl" value="jdbc:postgresql://XXX.XXX.XXX.XXX:XXXX/democtl"/>
    <property name="dbuser" value="DB계정"/>
    <property name="dbpassword" value="DB계정 암호"/>
</bean>

<!-- Ria 연결 -->
<bean id="riaView" class="egov.wizware.ria.AjaxWizView">
    <property name="trace" value="yes"/>
    <property name="session" value="false"/>
    <property name="sysid" value="DEMO"/>
    <property
        name="xmlctl"
        value="/.../tomcat9/webapps/BMSCTX/PMDD/DEMO/xmlctl"/>
    <property name="notfoundgeturl" value="/DEMO/jsp/bbb.jsp"/>
    <property name="errorlog" value="yes"/>
    <property name="dbdriver" value="org.postgresql.Driver"/>
    <property name="dburl" value="jdbc:postgresql://XXX.XXX.XXX.XXX:XXXX/democtl"/>
    <property name="dbuser" value="DB계정"/>
    <property name="dbpassword" value="DB계정 암호"/>
</bean>

[riaAdaptor]

  • sysid : Project명을 입력합니다.

  • xmlctl : xml 소스가 저장되는 경로입니다.

  • exceldown : 엑셀 파일 업로드시 임시 업로드 파일 위치를 설정합니다.

  • db..... : Meta DB의 Database 정보들을 입력합니다.

[riaView]

  • sysid : Project명을 입력합니다.

  • xmlctl : xml 소스가 저장되는 경로입니다.

  • db..... : Meta DB의 Database 정보들을 입력합니다.

Last Updated:
Contributors: powermdd@hnextits.com, PEB, yochatapa