상세 컨텐츠

본문 제목

4-1_Java기반 오픈CMS 만들기(클라우드배포1)

JSP·자바·코틀린

by 김일국 2020. 1. 27. 17:21

본문

[Java기반 오픈CMS 만들기]
- 우리나라엔 오픈된 jsp기반 CMS가 없습니다. 상업용으로 출시된 jsp기반 CMS는 이 글 하단에서 보시듯 존재 합니다.
- 그래서 이번에는 오픈 jsp CMS 만들기에 도전해 보려고 합니다.
- 목표: 전자정부프레임웍3.8 기반 오픈 CMS 제작

- 공통: 기초 작업 포스트 http://blog.daum.net/web_design/619
- 정보: https://eond.com/index.php?mid=cms_qna&category=372404&document_srl=394036


#오늘작업: 기존에 전자정부표준프레임웍에서 제공하는 스몰홈템플릿이 궁금할 수 있습니다.

그래서, 확인하는 차원에서 Small Home Template(sht-webapp)프로젝트를 Heroku 클라우드에 배포해 보았습니다.

Heroku 클라우드에 배포확인 URL: https://egov-sht.herokuapp.com/ (무료 클라우드라서 초기 접속시 느립니다.)

- Heroku 클라우드 개발/배포 관련 사항은 이전 포스트에서 확인 http://blog.daum.net/web_design/640

- 아래 개랍환경3.8버전(이클립스)에서 실행한 결과-Hsql메모리DB로 실행됨을 확인 할 수 있습니다.(아래)

오늘 작업결과 소스

20200127_sht.7z


-작업내역 정리

==========================================
#pom.xml 파일 수정.
<repository>
 ...
 <url>https://repo1.maven.org/maven2/</url><!-- http:// -> https://:김일국 변경 -->
 ...
</repository>
- 메이븐 레포지토리에서 webapp-runner 패키지 확인URL
  https://mvnrepository.com/artifact/com.github.jsimone/webapp-runner
  전자정부표준프레임웍을 Heroku 클라우드에서 실행하려면 위 webapp-runner패키지가 필요함(아래URL)
  https://devcenter.heroku.com/articles/java-webapp-runner
<!-- 아래 dependency:김일국 추가 -->
<dependency>
 <groupId>com.github.jsimone</groupId>
 <artifactId>webapp-runner</artifactId>
 <version>8.0.33.0</version>
 <scope>provided</scope>
</dependency>
==========================================
#Procfile 파일 프로젝트 root에 추가
web: java $JAVA_OPTS -jar target/sht_webapp/WEB-INF/lib/webapp-runner-8.0.33.0.jar --port $PORT target/*.war

==========================================
#기타정보1
-로컬 PC에서 메모리DB(Hsql)정보 확인하려면 context-datasource.xml파일에 아래내용 추가
<!-- 테스트 실행용 DB매니저 실행:김일국 추가 -->
<bean depends-on="dataSource-hsql"
class="org.springframework.beans.factory.config.MethodInvokingBean">
<property name="targetClass" value="org.hsqldb.util.DatabaseManagerSwing" />
<property name="targetMethod" value="main" />
<property name="arguments">
 <list>
  <value>--url</value>
  <value>jdbc:hsqldb:mem:dataSource-hsql</value>
  <value>--user</value>
  <value>sa</value>
  <value>--password</value>
  <value></value>
 </list>
</property>
</bean>
============================================
#기타정보2
<!-- pom.xml 파일에서 아래는 참고용으로만 확인해 주세요 실제로는 작동 않됨 -->
<plugin><!--기존내용(원상복구 내용)-->
 <groupId>org.apache.tomcat.maven</groupId>
 <artifactId>tomcat7-maven-plugin</artifactId>
 <version>2.2</version>
 <configuration>
  <port>80</port>
  <path>/</path>
  <systemProperties>
   <JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS>
  </systemProperties>
 </configuration>
</plugin>
<plugin><!--기존내용을 수정하려다가 원상복귀해서 지움(아래) -->
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-dependency-plugin</artifactId>
 <version>2.4</version>
 <executions>
  <execution>
   <phase>package</phase>
   <goals><goal>copy-dependencies</goal></goals>
   <configuration>
    <artifactItems>
     <artifactItem>
      <groupId>com.github.jsimone</groupId>
      <artifactId>webapp-runner</artifactId>
      <version>8.0.33.0</version>
      <destFileName>webapp-runner.jar</destFileName>
     </artifactItem>
    </artifactItems>
   </configuration>
  </execution>
 </executions>
</plugin>
==================================================================

Ps1. 전자정부표준프레임웍 앞으로 작업예정

-  앱 작업을 위한 클라우드 CI/DI 배포환경 구성

- 서브페이지-모바일에서 2단메뉴 보이게하기(현재는 모바일에서는 1단메뉴만 출력됨)

- 서브페이지-정보마당 반응형 디자인 적용 및 프로그램 적용

- 서브페이지-고객지원 반응형 디자인 적용 및 프로그램 적용

- 서브페이지-알림마당 반응형 디자인 적용 및 프로그램 적용

- 사이트관리(관리자) 페이지 반응형 적용 및 프로그램 적용


Ps2. 상업용으로 출시된 jsp기반 CMS 정보

현재 기준 39개 업체정보 : https://www.egovframe.go.kr/EgovCompatibility.jsp?menu=6&submenu=1

20200127_sht.7z
10.0MB

관련글 더보기

댓글 영역