nbs0105 / BOOT_CMS star
beom 5 days ago
Spring Boot 3 마이그레이션 보정 및 테스트 통과
@f6d20e884b2c23ada3b1712ecbd94a14e9a187cf
.gitignore
--- .gitignore
+++ .gitignore
@@ -135,10 +135,13 @@
 *.lnk
 /.classpath
 .classpath
+.gradle/
+base/.gradle/
+base/build/
 .project
 
 # libs
 .repo
 
 .vscode
-.vscode/
(파일 끝에 줄바꿈 문자 없음)
+.vscode/
 
CHANGELOG_BOOT_JPA.md (added)
+++ CHANGELOG_BOOT_JPA.md
@@ -0,0 +1,346 @@
+# Spring Boot + JPA 전환 진행 내역
+
+## 변경 목적
+- 기존 전자정부프레임워크(MyBatis 중심) 구조 위에 Spring Boot + JPA 기반을 추가해 점진 전환을 시작했습니다.
+- MariaDB 스키마와 인덱스 정보를 반영해 JPA 엔티티/인덱스 매핑을 진행했습니다.
+
+## 변경 요약
+- Spring Boot 1.5.22.RELEASE 기반 구성 추가
+- JPA 엔티티 10종과 리포지토리 10종 신규 생성
+- 테스트용 H2 구성 및 기본 JPA 저장/조회 테스트 추가
+
+## 상세 변경 사항
+
+### 빌드 설정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/pom.xml`
+  - `spring-boot.version`과 `java.version` 속성 추가
+  - `spring-boot-dependencies` BOM 추가
+  - `spring-boot-starter-web`, `spring-boot-starter-data-jpa`, `spring-boot-starter-tomcat` 추가
+  - `spring-boot-starter-test` 추가
+  - `h2` 의존성 `test` 스코프로 변경
+  - 테스트 스킵 해제(`skipTests=false`)
+  - `spring-boot-maven-plugin` 추가
+
+### 애플리케이션 부트스트랩
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/BaseCmsApplication.java`
+  - Spring Boot 진입점 추가
+  - WAR 배포를 위한 `SpringBootServletInitializer` 확장
+
+### 애플리케이션 설정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/application.yml`
+  - MariaDB 접속 정보 환경변수 주입 방식 추가
+  - JPA 기본 설정(ddl-auto none, open-in-view false)
+
+### JPA 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtccmmnclcode.java`
+  - 공통분류코드 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtccmmncode.java`
+  - 공통코드 엔티티, 인덱스 `COMTCCMMNCODE_FK1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtccmmndetailcodeId.java`
+  - 공통상세코드 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtccmmndetailcode.java`
+  - 공통상세코드 엔티티, 인덱스 `COMTCCMMNDETAILCODE_FK1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnmber.java`
+  - 회원정보 엔티티, 인덱스 `COMTNMBER_IE1`, `COMTNMBER_IE2` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnauthorinfo.java`
+  - 권한정보 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnroleinfo.java`
+  - 롤정보 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtnauthorrolerelateId.java`
+  - 권한롤관계 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnauthorrolerelate.java`
+  - 권한롤관계 엔티티, 인덱스 `COMTNAUTHORROLERELATE_FK2` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtnrolesHierarchyId.java`
+  - 롤 계층구조 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtnrolesHierarchy.java`
+  - 롤 계층구조 엔티티, 인덱스 `COMTNROLES_HIERARCHY_FK1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnsiteinfo.java`
+  - 사이트정보 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnsitemnu.java`
+  - 사이트메뉴 엔티티, 인덱스 `COMTNSITEMNU_IE1`, `COMTNSITEMNU_IE2` 매핑
+
+### JPA 리포지토리
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtccmmnclcodeRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtccmmncodeRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtccmmndetailcodeRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnmberRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnauthorinfoRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnroleinfoRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnauthorrolerelateRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnrolesHierarchyRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnsiteinfoRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnsitemnuRepository.java`
+
+### 테스트
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/test/resources/application-test.yml`
+  - H2 인메모리 DB 설정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/test/java/com/foxedu/basecms/BaseCmsJpaTest.java`
+  - 공통분류코드 저장/조회 테스트
+
+## 남은 작업(요약)
+- 나머지 테이블 엔티티/리포지토리 생성
+- 관계 매핑(FK) 및 복합키 정교화
+- 관리자 기능별 서비스/컨트롤러 전환
+- MariaDB 실제 연결 기반 통합 테스트
+
+## 추가 변경(2차)
+
+### JPA 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comschulinfo.java`
+  - 학교정보 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtecopseq.java`
+  - 시퀀스정보 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbanner.java`
+  - 배너 엔티티, 인덱스 `COMTNBANNER_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbsctgrymaster.java`
+  - 게시판카테고리마스터 엔티티, 인덱스 `COMTNBBSCTGRYMASTER_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbsctgry.java`
+  - 게시판카테고리 엔티티, 인덱스 `COMTNBBSCTGRY_IE1`, `COMTNBBSCTGRY_IE2` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbsmaster.java`
+  - 게시판마스터 엔티티, 인덱스 `COMTNBBSMASTER_IE1`, `COMTNBBSMASTER_IE2` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbs.java`
+  - 게시판 엔티티, 인덱스 `COMTNBBS_IE1`, `COMTNBBS_IE2`, `COMTNBBS_IE3` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtncomment.java`
+  - 댓글 엔티티, 인덱스 `COMTNCOMMENT_FK1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbssourc.java`
+  - 게시판소스 엔티티, 인덱스 `COMTNBBSSOURC_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbstmplat.java`
+  - 게시판템플릿 엔티티, 인덱스 `COMTNBBSTMPLAT_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnpopupmanage.java`
+  - 팝업관리 엔티티, 인덱스 `COMTNPOPUPMANAGE_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnfile.java`
+  - 파일속성 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtnfiledetailId.java`
+  - 파일상세정보 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnfiledetail.java`
+  - 파일상세정보 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtnlogininfoId.java`
+  - 로그인정보 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnlogininfo.java`
+  - 로그인정보 엔티티, 인덱스 `COMTNLOGININFO_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnloginlog.java`
+  - 로그인로그 엔티티, 인덱스 `COMTNLOGINLOG_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtnsitemaincntntsId.java`
+  - 사이트메인컨텐츠 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnsitemaincntnts.java`
+  - 사이트메인컨텐츠 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnweblog.java`
+  - 웹로그 엔티티, 인덱스 `COMTNWEBLOG_IE1` 매핑
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtsbbssummaryId.java`
+  - 게시물통계요약 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtsbbssummary.java`
+  - 게시물통계요약 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtsweblogsummaryId.java`
+  - 웹로그요약 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtsweblogsummary.java`
+  - 웹로그요약 엔티티
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/ComtsmlglogsummaryId.java`
+  - 마일리지로그요약 복합키
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtsmlglogsummary.java`
+  - 마일리지로그요약 엔티티
+
+### JPA 리포지토리
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComschulinfoRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtecopseqRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbannerRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbbsctgrymasterRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbbsctgryRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbbsmasterRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbbsRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtncommentRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbbssourcRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnbbstmplatRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnpopupmanageRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnfileRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnfiledetailRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnlogininfoRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnloginlogRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnsitemaincntntsRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtnweblogRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtsbbssummaryRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtsweblogsummaryRepository.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/repository/ComtsmlglogsummaryRepository.java`
+
+### 남은 작업(요약)
+- 나머지 테이블 엔티티/리포지토리 생성
+- FK 관계 매핑 및 복합키 정교화
+- 관리자 기능 서비스/컨트롤러 전환
+
+## 추가 변경(3차)
+
+### 빌드 설정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/pom.xml`
+  - Thymeleaf 사용을 위한 `spring-boot-starter-thymeleaf` 추가
+  - Lombok 사용을 위한 `lombok` 의존성 추가
+
+## 추가 변경(4차)
+
+### 빌드 설정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/pom.xml`
+  - Spring Boot 버전을 `2.7.18`로 변경
+  - Java 버전을 `17`로 변경
+  - 컴파일러 설정을 `java.version` 프로퍼티 기반으로 통일
+
+### Lombok 리팩터링
+- 엔티티 30종에 Lombok 적용(`@Getter`, `@Setter`, `@NoArgsConstructor`)
+- 기존 getter/setter 메서드 제거
+
+적용된 엔티티 예시:
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnbbs.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnmber.java`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/domain/Comtnsiteinfo.java`
+
+## 추가 변경(5차)
+
+### JSP → Thymeleaf 1차 이관(기계적 변환)
+- `WEB-INF/jsp` 및 루트 JSP 292개를 Thymeleaf 템플릿으로 변환해 복사
+- 위치: `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates`
+- 변환 내용(기본 규칙)
+  - JSP 디렉티브/스크립틀릿 제거
+  - `c:if`, `c:forEach`, `c:out`, `spring:message` 일부 변환
+  - `<html>`에 `xmlns:th` 추가
+
+주의 사항
+- `<form:*>`, `<spring:*>` 일부 태그, 커스텀 태그, 스크립틀릿 로직은 **수동 보정 필요**
+- 화면 동작 검증은 아직 미완료
+
+### Swagger(OpenAPI)
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/pom.xml`
+  - `springdoc-openapi-ui` 추가
+
+## 추가 변경(6차)
+
+### 관리자 화면 수동 보정(1차)
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/egovframework/mng/template/top.html`
+  - 타임리프 문법으로 재작성
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/egovframework/mng/template/bottom.html`
+  - 타임리프 문법으로 재작성
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/mng/sym/ccm/CcmCmmnClCodeList.html`
+  - 공통분류코드 목록 화면 타임리프 수동 변환
+
+### 컨트롤러-뷰 바인딩 보정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnClCodeManageController.java`
+  - 타임리프 페이지네이션 표시용 `paginationHtml` 모델 추가
+
+### Swagger 샘플
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/com/foxedu/basecms/api/SampleApiController.java`
+  - `/api/health` 샘플 엔드포인트 추가
+
+## 추가 변경(7차)
+
+### 네이밍 축약 및 URL 통일
+- 엔티티/리포지토리/복합키 클래스명을 짧은 이름으로 일괄 변경
+- `/mng` 경로를 `/manage`로 통일(컨트롤러 매핑, 템플릿 링크, JSP/HTML/JS 내 URL 문자열)
+- 템플릿 디렉터리 구조를 `/templates/manage` 및 `/templates/egovframework/manage`로 이동
+
+변경 예시
+- `Comtnmber` → `Member`
+- `Comtnsitemnu` → `Menu`
+- `Comtnbbs` → `Bbs`
+- URL: `/mng/...` → `/manage/...`
+
+## 추가 변경(8차)
+
+### 공통코드 상세/등록 화면 이관
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeRegist.html`
+  - 공통분류코드 등록 화면 타임리프 이관
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeModify.html`
+  - 공통분류코드 수정 화면 타임리프 이관
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeDetail.html`
+  - 공통분류코드 상세 화면 타임리프 이관
+
+## 추가 변경(9차)
+
+### 공통코드 화면 이관
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeList.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeRegist.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeModify.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeDetail.html`
+
+### 공통상세코드 화면 이관
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeList.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeRegist.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeModify.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/manage/sym/ccm/CcmCmmnDetailCodeDetail.html`
+
+### 팝업 템플릿 보정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/egovframework/manage/template/popTop.html`
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/templates/egovframework/manage/template/popBottom.html`
+
+### 컨트롤러 바인딩 보정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnCodeManageController.java`
+  - `paginationHtml` 모델 추가
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnDetailCodeManageController.java`
+  - `paginationHtml` 모델 추가
+
+## 추가 변경(10차)
+
+### Gradle 전환
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/build.gradle` 추가
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/settings.gradle` 추가
+- Gradle Wrapper 추가
+  - `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/gradlew`
+  - `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/gradle/wrapper/gradle-wrapper.properties`
+  - `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/gradle/wrapper/gradle-wrapper.jar`
+
+## 추가 변경(11차)
+
+### Java 버전 상향
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/build.gradle`
+  - Gradle toolchain을 Java 21로 변경
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/pom.xml`
+  - `java.version`을 21로 변경
+
+## 추가 변경(12차)
+
+### Spring Boot 3 전환
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/pom.xml`
+  - Spring Boot 버전 `3.2.5`로 변경
+  - Springdoc 의존성 `springdoc-openapi-starter-webmvc-ui`로 변경
+  - JSP/JSTL 의존성 Jakarta 기반으로 변경
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/build.gradle`
+  - Spring Boot 플러그인 `3.2.5`로 변경
+  - Springdoc 의존성 `springdoc-openapi-starter-webmvc-ui`로 변경
+  - JSTL 의존성 Jakarta 기반으로 변경
+
+### 패키지 전환
+- `javax.*` → `jakarta.*` 전역 변경(엔티티/컨트롤러 포함)
+
+## 추가 변경(13차)
+
+### Gradle 의존성 보정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/build.gradle`
+  - eGovFrame 저장소를 `https://maven.egovframe.go.kr/maven/`로 변경
+  - okhttp/okio 버전 상향 및 log4jdbc3 제거
+  - eGov MVC 의존성에서 spring-modules-validation 제외 처리
+
+## 추가 변경(14차)
+
+### Spring Boot 3 호환 보정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/egovframework/spring/context-common.xml`
+  - 멀티파트 리졸버를 `StandardServletMultipartResolver`로 교체
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/application.yml`
+  - 멀티파트 용량 설정 추가 및 주석 한글화
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/cmm/view/AbstractPoiExcelView.java`
+  - POI 기반 엑셀 뷰 공통 클래스 추가
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/cmm/view/ExcelView.java`
+  - `AbstractPoiExcelView` 상속으로 변경
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/cmm/service/ExcelDownloadView.java`
+  - `AbstractPoiExcelView` 상속으로 변경
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/front/sym/log/web/EgovWebLogInterceptor.java`
+  - `HandlerInterceptorAdapter` → `HandlerInterceptor` 변경
+  - `/mng` 경로 검사 → `/manage`로 변경
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java`
+  - `initBinder` 시그니처를 Spring 6 기준으로 수정
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/org/springmodules/validation/commons/DefaultBeanValidator.java`
+  - 기존 spring-modules 의존성 대체 구현 추가
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/java/org/springmodules/validation/commons/DefaultValidatorFactory.java`
+  - 검증 팩토리 대체 구현 추가
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/main/resources/egovframework/spring/context-validator.xml`
+  - 주석 한글화
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/build.gradle`
+  - 구버전 Jackson 의존성 제거
+
+### 테스트 전환
+- `/Users/beom/Documents/intellij/cms/FoxeduBaseCMS/base/src/test/java/com/foxedu/basecms/BaseCmsJpaTest.java`
+  - JUnit 5로 전환
 
base/build.gradle (added)
+++ base/build.gradle
@@ -0,0 +1,92 @@
+plugins {
+    id 'org.springframework.boot' version '3.2.5'
+    id 'io.spring.dependency-management' version '1.1.4'
+    id 'java'
+    id 'war'
+}
+
+group = 'base'
+version = '1.0'
+
+java {
+    toolchain {
+        languageVersion = JavaLanguageVersion.of(21)
+    }
+}
+
+repositories {
+    mavenCentral()
+    maven { url 'https://maven.egovframe.go.kr/maven/' }
+    maven { url 'https://repo.terracotta.org/maven2' }
+}
+
+dependencies {
+    implementation 'org.springframework.boot:spring-boot-starter-web'
+    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
+    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
+    implementation 'org.springframework.boot:spring-boot-starter-validation'
+
+    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
+    compileOnly 'jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.1.1'
+    runtimeOnly 'org.apache.tomcat.embed:tomcat-embed-jasper:10.1.20'
+
+    compileOnly 'org.projectlombok:lombok:1.18.30'
+    annotationProcessor 'org.projectlombok:lombok:1.18.30'
+
+    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'
+
+    implementation 'org.mariadb.jdbc:mariadb-java-client:2.2.5'
+    implementation 'mysql:mysql-connector-java:5.1.31'
+
+    implementation 'net.bramp.ffmpeg:ffmpeg:0.6.2'
+    implementation 'net.coobird:thumbnailator:0.4.2'
+    implementation 'net.sf.json-lib:json-lib:2.4:jdk15'
+    implementation 'com.drewnoakes:metadata-extractor:2.6.2'
+    implementation 'com.googlecode.json-simple:json-simple:1.1'
+    implementation 'net.sf.javamusictag:jid3lib:0.5.4'
+    implementation 'egovframework.rte:egovframework.rte.fdl.idgnr:3.9.0'
+    implementation('egovframework.rte:egovframework.rte.ptl.mvc:3.9.0') {
+        exclude group: 'org.springmodules', module: 'spring-modules-validation'
+    }
+    implementation 'egovframework.rte:egovframework.rte.fdl.property:3.9.0'
+    implementation 'egovframework.rte:egovframework.rte.fdl.security:3.9.0'
+    implementation 'egovframework.rte:egovframework.rte.fdl.excel:3.9.0'
+    implementation 'egovframework.rte:egovframework.rte.bat.core:3.9.0'
+    implementation 'egovframework.rte:egovframework.rte.fdl.crypto:3.9.0'
+
+    implementation 'com.googlecode.log4jdbc:log4jdbc:1.2'
+    implementation 'commons-dbcp:commons-dbcp:1.4'
+
+    implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl:3.0.1'
+
+    implementation 'org.jasypt:jasypt:1.9.2'
+    implementation 'cglib:cglib:3.1'
+    implementation 'org.apache.commons:commons-compress:1.8.1'
+    implementation 'xerces:xercesImpl:2.11.0'
+
+    implementation 'net.sf.ehcache:ehcache-core:2.6.9'
+    implementation 'net.sf.ehcache:ehcache-terracotta:2.1.1'
+
+    implementation 'org.quartz-scheduler:quartz:2.1.7'
+    implementation 'org.quartz-scheduler:quartz-jobs:2.2.1'
+
+    implementation 'org.antlr:antlr:3.5'
+    implementation 'com.ibm.icu:icu4j:53.1'
+    implementation 'commons-fileupload:commons-fileupload:1.3.1'
+    implementation 'org.apache.xmlgraphics:batik-ext:1.7'
+
+    implementation 'com.github.scribejava:scribejava-core:2.8.1'
+    implementation 'org.apache.httpcomponents:httpclient:4.5.13'
+    implementation 'com.squareup.okhttp3:okhttp:4.12.0'
+    implementation 'com.squareup.okio:okio:3.7.0'
+
+    implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
+    // log4jdbc3는 중앙 저장소에서 확인되지 않아 제외
+
+    testImplementation 'org.springframework.boot:spring-boot-starter-test'
+    testImplementation 'com.h2database:h2:1.4.180'
+}
+
+tasks.withType(Test).configureEach {
+    useJUnitPlatform()
+}
 
base/gradle.properties (added)
+++ base/gradle.properties
@@ -0,0 +1,1 @@
+org.gradle.java.home=/Users/beom/Library/Java/JavaVirtualMachines/ms-21.0.10/Contents/Home
 
base/gradle/wrapper/gradle-wrapper.jar (Binary) (added)
+++ base/gradle/wrapper/gradle-wrapper.jar
Binary file is not shown
 
base/gradle/wrapper/gradle-wrapper.properties (added)
+++ base/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
 
base/gradlew (added)
+++ base/gradlew
@@ -0,0 +1,248 @@
+#!/bin/sh
+
+#
+# Copyright © 2015 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       https://github.com/gradle/gradle/blob/a2da7f311fe4699328dbcef381bc459c2f757e3e/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+    echo "$*"
+} >&2
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
+esac
+
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD=$JAVA_HOME/jre/sh/java
+    else
+        JAVACMD=$JAVA_HOME/bin/java
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD=java
+    if ! command -v java >/dev/null 2>&1
+    then
+        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
+        fi
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
+    done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+#     and any embedded shellness will be escaped.
+#   * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+#     treated as '${Hostname}' itself on the command line.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+        "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+    die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
+
+exec "$JAVACMD" "$@"
base/pom.xml
--- base/pom.xml
+++ base/pom.xml
@@ -9,10 +9,12 @@
     <name>base</name>
     <url>http://maven.apache.org</url>
 
-    <properties>
-        <spring.maven.artifact.version>4.3.22.RELEASE</spring.maven.artifact.version>
-        <egovframework.rte.version>3.9.0</egovframework.rte.version>
-    </properties>
+    <properties>
+        <spring.maven.artifact.version>4.3.22.RELEASE</spring.maven.artifact.version>
+        <egovframework.rte.version>3.9.0</egovframework.rte.version>
+        <spring-boot.version>3.2.5</spring-boot.version>
+        <java.version>21</java.version>
+    </properties>
 
     <repositories>
         <repository>
@@ -37,7 +39,47 @@
         </repository>
     </repositories>
     
-    <dependencies>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-thymeleaf</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-tomcat</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.30</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
+            <version>2.5.0</version>
+        </dependency>
     	<dependency>
 		  <groupId>net.bramp.ffmpeg</groupId>
 		  <artifactId>ffmpeg</artifactId>
@@ -171,17 +213,11 @@
             <version>1.4</version>
         </dependency>
 
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>jstl</artifactId>
-            <version>1.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>taglibs</groupId>
-            <artifactId>standard</artifactId>
-            <version>1.1.2</version>
-        </dependency>
+        <dependency>
+            <groupId>org.glassfish.web</groupId>
+            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
+            <version>3.0.1</version>
+        </dependency>
 		<!-- 
         <dependency>
             <groupId>javax.servlet</groupId>
@@ -190,12 +226,7 @@
             <scope>provided</scope>
         </dependency>
          -->
-		<dependency>
-			<groupId>javax.servlet</groupId>
-			<artifactId>javax.servlet-api</artifactId>
-			<version>3.1.0</version>
-			<scope>provided</scope>
-		</dependency>
+		<!-- Jakarta Servlet API는 Spring Boot 3에서 기본 제공 -->
 
         <dependency>
             <groupId>org.jasypt</groupId>
@@ -299,13 +330,7 @@
             <version>1.0</version>
         </dependency> -->
 
-        <!-- Cross-Site Scripting -->
-        <dependency>
-            <groupId>javax.servlet.jsp</groupId>
-            <artifactId>javax.servlet.jsp-api</artifactId>
-            <version>2.3.1</version>
-            <scope>provided</scope>
-        </dependency>
+        <!-- Jakarta JSP API는 Spring Boot 3에서 기본 제공 -->
 
         <!-- LDAP SDK -->
         <!-- <dependency>
@@ -577,11 +602,12 @@
             <version>4.5.13</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <version>1.4.180</version>
-        </dependency>
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+            <version>1.4.180</version>
+            <scope>test</scope>
+        </dependency>
 
 		<dependency>
 		    <groupId>com.drewnoakes</groupId>
@@ -589,11 +615,11 @@
 		    <version>2.6.2</version>
 		</dependency>
 
-        <dependency>
-            <groupId>com.squareup.okhttp3</groupId>
-            <artifactId>okhttp</artifactId>
-            <version>4.2.2</version>
-        </dependency>
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>4.2.2</version>
+        </dependency>
 
 		<!-- mybatis log4jdbc-log4j2 라이브러리 -->
         <dependency>
@@ -602,13 +628,19 @@
             <version>1.16</version>
         </dependency>
 
-        <dependency>
-            <groupId>net.sf</groupId>
-            <artifactId>log4jdbc3</artifactId>
-            <version>1.1</version>
-        </dependency>
-		
-    </dependencies>
+        <dependency>
+            <groupId>net.sf</groupId>
+            <artifactId>log4jdbc3</artifactId>
+            <version>1.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
 
 
 
@@ -632,12 +664,12 @@
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <configuration>
-                        <source>1.8</source>
-                        <target>1.8</target>
-                        <encoding>UTF-8</encoding>
-                    </configuration>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -683,16 +715,16 @@
         </pluginManagement>
         <plugins>
             <!-- EMMA -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <skipTests>true</skipTests>
-                    <forkMode>once</forkMode>
-                    <reportFormat>xml</reportFormat>
-                    <excludes>
-                        <exclude>**/Abstract*.java</exclude>
-                        <exclude>**/*Suite.java</exclude>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>false</skipTests>
+                    <forkMode>once</forkMode>
+                    <reportFormat>xml</reportFormat>
+                    <excludes>
+                        <exclude>**/Abstract*.java</exclude>
+                        <exclude>**/*Suite.java</exclude>
                     </excludes>
                     <includes>
                         <include>**/*Test.java</include>
@@ -705,12 +737,17 @@
                 <inherited>true</inherited>
             </plugin>
             <!-- JavaDoc -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.1.1</version>
-            </plugin>
-        </plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>3.1.1</version>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring-boot.version}</version>
+            </plugin>
+        </plugins>
         <resources>
             <resource>
                 <directory>src/main/resources</directory>
 
base/settings.gradle (added)
+++ base/settings.gradle
@@ -0,0 +1,1 @@
+rootProject.name = 'base'
 
base/src/main/java/com/foxedu/basecms/BaseCmsApplication.java (added)
+++ base/src/main/java/com/foxedu/basecms/BaseCmsApplication.java
@@ -0,0 +1,22 @@
+package com.foxedu.basecms;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * 스프링 부트 진입점
+ */
+@SpringBootApplication
+public class BaseCmsApplication extends SpringBootServletInitializer {
+
+    @Override
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+        return application.sources(BaseCmsApplication.class);
+    }
+
+    public static void main(String[] args) {
+        SpringApplication.run(BaseCmsApplication.class, args);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/api/SampleApiController.java (added)
+++ base/src/main/java/com/foxedu/basecms/api/SampleApiController.java
@@ -0,0 +1,24 @@
+package com.foxedu.basecms.api;
+
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.Map;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Swagger 확인용 샘플 API
+ */
+@RestController
+@RequestMapping("/api")
+public class SampleApiController {
+
+    @GetMapping("/health")
+    public Map<String, Object> health() {
+        Map<String, Object> result = new HashMap<>();
+        result.put("status", "ok");
+        result.put("timestamp", LocalDateTime.now().toString());
+        return result;
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/Author.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Author.java
@@ -0,0 +1,42 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 권한정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtnauthorinfo")
+public class Author {
+
+    @Id
+    @Column(name = "AUTHOR_CODE", nullable = false)
+    private Integer authorCode;
+
+    @Column(name = "AUTHOR_NM", length = 50, nullable = false)
+    private String authorNm;
+
+    @Column(name = "AUTHOR_DC", length = 100)
+    private String authorDc;
+
+    @Column(name = "AUTHOR_CREAT_DE", nullable = false)
+    private LocalDateTime authorCreatDe;
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/AuthorRole.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/AuthorRole.java
@@ -0,0 +1,37 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 권한롤관계
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnauthorrolerelate",
+    indexes = {
+        @Index(name = "COMTNAUTHORROLERELATE_FK2", columnList = "ROLE_CODE")
+    }
+)
+public class AuthorRole {
+
+    @EmbeddedId
+    private AuthorRoleId id;
+
+    @Column(name = "CREAT_DT")
+    private LocalDateTime creatDt;
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/AuthorRoleId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/AuthorRoleId.java
@@ -0,0 +1,60 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 권한롤관계 복합키
+ */
+@Embeddable
+public class AuthorRoleId implements Serializable {
+
+    @Column(name = "AUTHOR_CODE", nullable = false)
+    private Integer authorCode;
+
+    @Column(name = "ROLE_CODE", length = 50, nullable = false)
+    private String roleCode;
+
+    public AuthorRoleId() {
+    }
+
+    public AuthorRoleId(Integer authorCode, String roleCode) {
+        this.authorCode = authorCode;
+        this.roleCode = roleCode;
+    }
+
+    public Integer getAuthorCode() {
+        return authorCode;
+    }
+
+    public void setAuthorCode(Integer authorCode) {
+        this.authorCode = authorCode;
+    }
+
+    public String getRoleCode() {
+        return roleCode;
+    }
+
+    public void setRoleCode(String roleCode) {
+        this.roleCode = roleCode;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof AuthorRoleId)) {
+            return false;
+        }
+        AuthorRoleId that = (AuthorRoleId) o;
+        return Objects.equals(authorCode, that.authorCode) && Objects.equals(roleCode, that.roleCode);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(authorCode, roleCode);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/Banner.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Banner.java
@@ -0,0 +1,133 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 배너
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbanner",
+    indexes = {
+        @Index(name = "COMTNBANNER_IE1", columnList = "SITE_ID, SYS_TY_CODE, BANNER_TY_CODE, BANNER_THEMA_CL_CODE")
+    }
+)
+public class Banner {
+
+    @Id
+    @Column(name = "BANNER_ID", length = 20, nullable = false)
+    private String bannerId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15, nullable = false)
+    private String sysTyCode;
+
+    @Column(name = "BANNER_TY_CODE", length = 15)
+    private String bannerTyCode;
+
+    @Column(name = "BANNER_THEMA_CL_CODE", length = 15)
+    private String bannerThemaClCode;
+
+    @Column(name = "BANNER_TITLE", length = 50)
+    private String bannerTitle;
+
+    @Column(name = "BANNER_NM", length = 50, nullable = false)
+    private String bannerNm;
+
+    @Column(name = "BANNER_IMAGE", length = 255)
+    private String bannerImage;
+
+    @Column(name = "BANNER_IMAGE_FILE", length = 255)
+    private String bannerImageFile;
+
+    @Column(name = "BANNER_DC", length = 500)
+    private String bannerDc;
+
+    @Column(name = "LINK_URL", length = 255)
+    private String linkUrl;
+
+    @Column(name = "NTCE_BGNDE", length = 14)
+    private String ntceBgnde;
+
+    @Column(name = "NTCE_ENDDE", length = 14)
+    private String ntceEndde;
+
+    @Column(name = "SORT_ORDR")
+    private Integer sortOrdr;
+
+    @Column(name = "POPUP_TRGET_AT", length = 1, nullable = false)
+    private String popupTrgetAt;
+
+    @Column(name = "REFLCT_AT", length = 1, nullable = false)
+    private String reflctAt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/Bbs.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Bbs.java
@@ -0,0 +1,185 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시판
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbbs",
+    indexes = {
+        @Index(name = "COMTNBBS_IE1", columnList = "BBS_ID"),
+        @Index(name = "COMTNBBS_IE2", columnList = "CTGRY_ID"),
+        @Index(name = "COMTNBBS_IE3", columnList = "FRST_REGISTER_PNTTM")
+    }
+)
+public class Bbs {
+
+    @Id
+    @Column(name = "NTT_NO", nullable = false)
+    private Long nttNo;
+
+    @Column(name = "BBS_ID", length = 20, nullable = false)
+    private String bbsId;
+
+    @Column(name = "CTGRY_ID", length = 20)
+    private String ctgryId;
+
+    @Column(name = "UPPER_NTT_NO")
+    private Integer upperNttNo;
+
+    @Column(name = "ATCH_FILE_ID", length = 20)
+    private String atchFileId;
+
+    @Column(name = "NTT_SJ", length = 255)
+    private String nttSj;
+
+    @Column(name = "NTT_CN", columnDefinition = "mediumtext")
+    private String nttCn;
+
+    @Column(name = "NTCR_NM", length = 20)
+    private String ntcrNm;
+
+    @Column(name = "INQIRE_CO")
+    private Long inqireCo;
+
+    @Column(name = "SORT_ORDR")
+    private Integer sortOrdr;
+
+    @Column(name = "SORT_LEVEL")
+    private Integer sortLevel;
+
+    @Column(name = "RECOMEND_CO")
+    private Long recomendCo;
+
+    @Column(name = "CREAT_IP", length = 128)
+    private String creatIp;
+
+    @Column(name = "NOTICE_AT", length = 1, nullable = false)
+    private String noticeAt;
+
+    @Column(name = "OTHBC_AT", length = 1, nullable = false)
+    private String othbcAt;
+
+    @Column(name = "PROCESS_STTUS_CODE", length = 15)
+    private String processSttusCode;
+
+    @Column(name = "ESTN_ATCH_FILE_ID", length = 20)
+    private String estnAtchFileId;
+
+    @Column(name = "ESTN_DATA", columnDefinition = "mediumtext")
+    private String estnData;
+
+    @Column(name = "TMP_01", length = 100)
+    private String tmp01;
+
+    @Column(name = "TMP_02", length = 100)
+    private String tmp02;
+
+    @Column(name = "TMP_03", length = 100)
+    private String tmp03;
+
+    @Column(name = "TMP_04", length = 200)
+    private String tmp04;
+
+    @Column(name = "TMP_05", length = 200)
+    private String tmp05;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM", nullable = false)
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+    @Column(name = "LAST_ANSWRR_PNTTM")
+    private LocalDateTime lastAnswrrPnttm;
+
+    @Column(name = "LAST_ANSWRR_ID", length = 100)
+    private String lastAnswrrId;
+
+    @Column(name = "LAST_ANSWRR_NM", length = 20)
+    private String lastAnswrrNm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsCategory.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsCategory.java
@@ -0,0 +1,73 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시판카테고리
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbbsctgry",
+    indexes = {
+        @Index(name = "COMTNBBSCTGRY_IE1", columnList = "CTGRYMASTER_ID"),
+        @Index(name = "COMTNBBSCTGRY_IE2", columnList = "UPPER_CTGRY_ID")
+    }
+)
+public class BbsCategory {
+
+    @Id
+    @Column(name = "CTGRY_ID", length = 20, nullable = false)
+    private String ctgryId;
+
+    @Column(name = "CTGRYMASTER_ID", length = 20, nullable = false)
+    private String ctgrymasterId;
+
+    @Column(name = "UPPER_CTGRY_ID", length = 20)
+    private String upperCtgryId;
+
+    @Column(name = "CTGRY_NM", length = 50, nullable = false)
+    private String ctgryNm;
+
+    @Column(name = "SORT_ORDR")
+    private Integer sortOrdr;
+
+    @Column(name = "CTGRY_LEVEL")
+    private Integer ctgryLevel;
+
+    @Column(name = "CTGRY_CN", length = 150)
+    private String ctgryCn;
+
+    @Column(name = "CTGRY_VAL", length = 20)
+    private String ctgryVal;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsCategoryMaster.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsCategoryMaster.java
@@ -0,0 +1,58 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시판카테고리마스터
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbbsctgrymaster",
+    indexes = {
+        @Index(name = "COMTNBBSCTGRYMASTER_IE1", columnList = "SITE_ID, SYS_TY_CODE")
+    }
+)
+public class BbsCategoryMaster {
+
+    @Id
+    @Column(name = "CTGRYMASTER_ID", length = 20, nullable = false)
+    private String ctgrymasterId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15)
+    private String sysTyCode;
+
+    @Column(name = "CTGRYMASTER_NM", length = 50, nullable = false)
+    private String ctgrymasterNm;
+
+    @Column(name = "CREAT_DT")
+    private LocalDateTime creatDt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsMaster.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsMaster.java
@@ -0,0 +1,149 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시판마스터
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbbsmaster",
+    indexes = {
+        @Index(name = "COMTNBBSMASTER_IE1", columnList = "SITE_ID, SYS_TY_CODE"),
+        @Index(name = "COMTNBBSMASTER_IE2", columnList = "CTGRYMASTER_ID")
+    }
+)
+public class BbsMaster {
+
+    @Id
+    @Column(name = "BBS_ID", length = 20, nullable = false)
+    private String bbsId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15)
+    private String sysTyCode;
+
+    @Column(name = "CTGRYMASTER_ID", length = 20)
+    private String ctgrymasterId;
+
+    @Column(name = "BBS_ATTRB_CODE", length = 20)
+    private String bbsAttrbCode;
+
+    @Column(name = "BBS_NM", length = 50, nullable = false)
+    private String bbsNm;
+
+    @Column(name = "COMMENT_USE_AT", length = 20)
+    private String commentUseAt;
+
+    @Column(name = "REPLY_POSBL_AT", length = 1, nullable = false)
+    private String replyPosblAt;
+
+    @Column(name = "FILE_ATCH_POSBL_AT", length = 1, nullable = false)
+    private String fileAtchPosblAt;
+
+    @Column(name = "POSBL_ATCH_FILE_NUMBER")
+    private Integer posblAtchFileNumber;
+
+    @Column(name = "POSBL_ATCH_FILE_SIZE")
+    private Integer posblAtchFileSize;
+
+    @Column(name = "TAG", length = 100)
+    private String tag;
+
+    @Column(name = "INQIRE_AUTHOR", length = 30)
+    private String inqireAuthor;
+
+    @Column(name = "REGIST_AUTHOR", length = 30)
+    private String registAuthor;
+
+    @Column(name = "ANSWER_AUTHOR", length = 30)
+    private String answerAuthor;
+
+    @Column(name = "OTHBC_USE_AT", length = 1, nullable = false)
+    private String othbcUseAt;
+
+    @Column(name = "SOURC_ID", length = 20)
+    private String sourcId;
+
+    @Column(name = "TMPLAT_ID", length = 20)
+    private String tmplatId;
+
+    @Column(name = "SVC_AT", length = 1, nullable = false)
+    private String svcAt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM", nullable = false)
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsSource.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsSource.java
@@ -0,0 +1,93 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시판소스
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbbssourc",
+    indexes = {
+        @Index(name = "COMTNBBSSOURC_IE1", columnList = "BBS_SOURC_ID")
+    }
+)
+public class BbsSource {
+
+    @Id
+    @Column(name = "BBS_SOURC_ID", length = 20, nullable = false)
+    private String bbsSourcId;
+
+    @Column(name = "SOURC_SE_CODE", length = 15)
+    private String sourcSeCode;
+
+    @Column(name = "SOURC_NM", length = 50, nullable = false)
+    private String sourcNm;
+
+    @Column(name = "LIST_SOURC", columnDefinition = "mediumtext")
+    private String listSourc;
+
+    @Column(name = "VIEW_SOURC", columnDefinition = "mediumtext")
+    private String viewSourc;
+
+    @Column(name = "FORM_SOURC", columnDefinition = "mediumtext")
+    private String formSourc;
+
+    @Column(name = "CM_SOURC", columnDefinition = "mediumtext")
+    private String cmSourc;
+
+    @Column(name = "PREVEW_FILE_NM", length = 255)
+    private String prevewFileNm;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsSummary.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsSummary.java
@@ -0,0 +1,45 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시물통계요약
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtsbbssummary")
+public class BbsSummary {
+
+    @EmbeddedId
+    private BbsSummaryId id;
+
+    @Column(name = "CREAT_CO")
+    private Long creatCo;
+
+    @Column(name = "TOT_INQIRE_CO")
+    private Long totInqireCo;
+
+    @Column(name = "AVRG_INQIRE_CO")
+    private Long avrgInqireCo;
+
+    @Column(name = "DWLD_CO")
+    private Long dwldCo;
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsSummaryId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsSummaryId.java
@@ -0,0 +1,100 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 게시물통계요약 복합키
+ */
+@Embeddable
+public class BbsSummaryId implements Serializable {
+
+    @Column(name = "OCCRRNC_DE", length = 8, nullable = false)
+    private String occrrncDe;
+
+    @Column(name = "SITE_ID", length = 20, nullable = false)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15, nullable = false)
+    private String sysTyCode;
+
+    @Column(name = "TRGET_ID", length = 20, nullable = false)
+    private String trgetId;
+
+    @Column(name = "BBS_ID", length = 20, nullable = false)
+    private String bbsId;
+
+    public BbsSummaryId() {
+    }
+
+    public BbsSummaryId(String occrrncDe, String siteId, String sysTyCode, String trgetId, String bbsId) {
+        this.occrrncDe = occrrncDe;
+        this.siteId = siteId;
+        this.sysTyCode = sysTyCode;
+        this.trgetId = trgetId;
+        this.bbsId = bbsId;
+    }
+
+    public String getOccrrncDe() {
+        return occrrncDe;
+    }
+
+    public void setOccrrncDe(String occrrncDe) {
+        this.occrrncDe = occrrncDe;
+    }
+
+    public String getSiteId() {
+        return siteId;
+    }
+
+    public void setSiteId(String siteId) {
+        this.siteId = siteId;
+    }
+
+    public String getSysTyCode() {
+        return sysTyCode;
+    }
+
+    public void setSysTyCode(String sysTyCode) {
+        this.sysTyCode = sysTyCode;
+    }
+
+    public String getTrgetId() {
+        return trgetId;
+    }
+
+    public void setTrgetId(String trgetId) {
+        this.trgetId = trgetId;
+    }
+
+    public String getBbsId() {
+        return bbsId;
+    }
+
+    public void setBbsId(String bbsId) {
+        this.bbsId = bbsId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof BbsSummaryId)) {
+            return false;
+        }
+        BbsSummaryId that = (BbsSummaryId) o;
+        return Objects.equals(occrrncDe, that.occrrncDe)
+            && Objects.equals(siteId, that.siteId)
+            && Objects.equals(sysTyCode, that.sysTyCode)
+            && Objects.equals(trgetId, that.trgetId)
+            && Objects.equals(bbsId, that.bbsId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(occrrncDe, siteId, sysTyCode, trgetId, bbsId);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/BbsTemplate.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/BbsTemplate.java
@@ -0,0 +1,83 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 게시판템플릿
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnbbstmplat",
+    indexes = {
+        @Index(name = "COMTNBBSTMPLAT_IE1", columnList = "TMPLAT_SE_CODE")
+    }
+)
+public class BbsTemplate {
+
+    @Id
+    @Column(name = "BBS_TMPLAT_ID", length = 20, nullable = false)
+    private String bbsTmplatId;
+
+    @Column(name = "TMPLAT_SE_CODE", length = 15)
+    private String tmplatSeCode;
+
+    @Column(name = "TMPLAT_NM", length = 50, nullable = false)
+    private String tmplatNm;
+
+    @Column(name = "CSS_SOURC", columnDefinition = "mediumtext")
+    private String cssSourc;
+
+    @Column(name = "SCRIPT_SOURC", columnDefinition = "mediumtext")
+    private String scriptSourc;
+
+    @Column(name = "PREVEW_FILE_NM", length = 255)
+    private String prevewFileNm;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/ClassCode.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/ClassCode.java
@@ -0,0 +1,62 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 공통분류코드
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtccmmnclcode")
+public class ClassCode {
+
+    @Id
+    @Column(name = "CL_CODE", length = 3, nullable = false)
+    private String clCode;
+
+    @Column(name = "CL_CODE_NM", length = 60, nullable = false)
+    private String clCodeNm;
+
+    @Column(name = "CL_CODE_DC", length = 200)
+    private String clCodeDc;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/CodeDetail.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/CodeDetail.java
@@ -0,0 +1,67 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 공통상세코드
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtccmmndetailcode",
+    indexes = {
+        @Index(name = "COMTCCMMNDETAILCODE_FK1", columnList = "CODE_ID")
+    }
+)
+public class CodeDetail {
+
+    @EmbeddedId
+    private CodeDetailId id;
+
+    @Column(name = "CODE_NM", length = 60, nullable = false)
+    private String codeNm;
+
+    @Column(name = "CODE_DC", length = 200)
+    private String codeDc;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/CodeDetailId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/CodeDetailId.java
@@ -0,0 +1,60 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+import java.util.Objects;
+
+/**
+ * 공통상세코드 복합키
+ */
+@Embeddable
+public class CodeDetailId implements Serializable {
+
+    @Column(name = "CODE", length = 15, nullable = false)
+    private String code;
+
+    @Column(name = "CODE_ID", length = 6, nullable = false)
+    private String codeId;
+
+    public CodeDetailId() {
+    }
+
+    public CodeDetailId(String code, String codeId) {
+        this.code = code;
+        this.codeId = codeId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getCodeId() {
+        return codeId;
+    }
+
+    public void setCodeId(String codeId) {
+        this.codeId = codeId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof CodeDetailId)) {
+            return false;
+        }
+        CodeDetailId that = (CodeDetailId) o;
+        return Objects.equals(code, that.code) && Objects.equals(codeId, that.codeId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(code, codeId);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/Comment.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Comment.java
@@ -0,0 +1,88 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 댓글
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtncomment",
+    indexes = {
+        @Index(name = "COMTNCOMMENT_FK1", columnList = "NTT_NO")
+    }
+)
+public class Comment {
+
+    @Id
+    @Column(name = "COMMENT_NO", nullable = false)
+    private Long commentNo;
+
+    @Column(name = "NTT_NO", nullable = false)
+    private Long nttNo;
+
+    @Column(name = "WRTER_NM", length = 20)
+    private String wrterNm;
+
+    @Column(name = "COMMENT_CN", length = 2500)
+    private String commentCn;
+
+    @Column(name = "SCORE")
+    private Long score;
+
+    @Column(name = "ORDR_CODE", length = 70, nullable = false)
+    private String ordrCode;
+
+    @Column(name = "ORDR_CODE_DP", nullable = false)
+    private Integer ordrCodeDp;
+
+    @Column(name = "USE_AT", length = 1)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM", nullable = false)
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/CommonCode.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/CommonCode.java
@@ -0,0 +1,73 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 공통코드
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtccmmncode",
+    indexes = {
+        @Index(name = "COMTCCMMNCODE_FK1", columnList = "CL_CODE")
+    }
+)
+public class CommonCode {
+
+    @Id
+    @Column(name = "CODE_ID", length = 6, nullable = false)
+    private String codeId;
+
+    @Column(name = "CL_CODE", length = 3, nullable = false)
+    private String clCode;
+
+    @Column(name = "CODE_ID_NM", length = 60, nullable = false)
+    private String codeIdNm;
+
+    @Column(name = "CODE_ID_DC", length = 200)
+    private String codeIdDc;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/FileDetail.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/FileDetail.java
@@ -0,0 +1,66 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 파일상세정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtnfiledetail")
+public class FileDetail {
+
+    @EmbeddedId
+    private FileDetailId id;
+
+    @Column(name = "FILE_STRE_COURS", length = 2000)
+    private String fileStreCours;
+
+    @Column(name = "STRE_FILE_NM", length = 255)
+    private String streFileNm;
+
+    @Column(name = "ORIGNL_FILE_NM", length = 255)
+    private String orignlFileNm;
+
+    @Column(name = "FILE_EXTSN", length = 20)
+    private String fileExtsn;
+
+    @Column(name = "FILE_MG")
+    private Long fileMg;
+
+    @Column(name = "FILE_CN", columnDefinition = "mediumtext")
+    private String fileCn;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/FileDetailId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/FileDetailId.java
@@ -0,0 +1,61 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 파일상세정보 복합키
+ */
+@Embeddable
+public class FileDetailId implements Serializable {
+
+    @Column(name = "ATCH_FILE_ID", length = 20, nullable = false)
+    private String atchFileId;
+
+    @Column(name = "FILE_SN", nullable = false)
+    private Integer fileSn;
+
+    public FileDetailId() {
+    }
+
+    public FileDetailId(String atchFileId, Integer fileSn) {
+        this.atchFileId = atchFileId;
+        this.fileSn = fileSn;
+    }
+
+    public String getAtchFileId() {
+        return atchFileId;
+    }
+
+    public void setAtchFileId(String atchFileId) {
+        this.atchFileId = atchFileId;
+    }
+
+    public Integer getFileSn() {
+        return fileSn;
+    }
+
+    public void setFileSn(Integer fileSn) {
+        this.fileSn = fileSn;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof FileDetailId)) {
+            return false;
+        }
+        FileDetailId that = (FileDetailId) o;
+        return Objects.equals(atchFileId, that.atchFileId)
+            && Objects.equals(fileSn, that.fileSn);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(atchFileId, fileSn);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/FileInfo.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/FileInfo.java
@@ -0,0 +1,37 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 파일속성
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtnfile")
+public class FileInfo {
+
+    @Id
+    @Column(name = "ATCH_FILE_ID", length = 20, nullable = false)
+    private String atchFileId;
+
+    @Column(name = "CREAT_DT", nullable = false)
+    private LocalDateTime creatDt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/LoginInfo.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/LoginInfo.java
@@ -0,0 +1,47 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 로그인정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnlogininfo",
+    indexes = {
+        @Index(name = "COMTNLOGININFO_IE1", columnList = "SITE_ID")
+    }
+)
+public class LoginInfo {
+
+    @EmbeddedId
+    private LoginInfoId id;
+
+    @Column(name = "LOGIN_IP", length = 128)
+    private String loginIp;
+
+    @Column(name = "SESSION_ID", length = 64)
+    private String sessionId;
+
+    @Column(name = "CREAT_DT")
+    private LocalDateTime creatDt;
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/LoginInfoId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/LoginInfoId.java
@@ -0,0 +1,74 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 로그인정보 복합키
+ */
+@Embeddable
+public class LoginInfoId implements Serializable {
+
+    @Column(name = "LOGIN_ID", length = 100, nullable = false)
+    private String loginId;
+
+    @Column(name = "SITE_ID", length = 20, nullable = false)
+    private String siteId;
+
+    @Column(name = "LOGIN_IDNTFC_ID", length = 64, nullable = false)
+    private String loginIdntfcId;
+
+    public LoginInfoId() {
+    }
+
+    public LoginInfoId(String loginId, String siteId, String loginIdntfcId) {
+        this.loginId = loginId;
+        this.siteId = siteId;
+        this.loginIdntfcId = loginIdntfcId;
+    }
+
+    public String getLoginId() {
+        return loginId;
+    }
+
+    public void setLoginId(String loginId) {
+        this.loginId = loginId;
+    }
+
+    public String getSiteId() {
+        return siteId;
+    }
+
+    public void setSiteId(String siteId) {
+        this.siteId = siteId;
+    }
+
+    public String getLoginIdntfcId() {
+        return loginIdntfcId;
+    }
+
+    public void setLoginIdntfcId(String loginIdntfcId) {
+        this.loginIdntfcId = loginIdntfcId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof LoginInfoId)) {
+            return false;
+        }
+        LoginInfoId that = (LoginInfoId) o;
+        return Objects.equals(loginId, that.loginId)
+            && Objects.equals(siteId, that.siteId)
+            && Objects.equals(loginIdntfcId, that.loginIdntfcId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(loginId, siteId, loginIdntfcId);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/LoginLog.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/LoginLog.java
@@ -0,0 +1,73 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 로그인로그
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnloginlog",
+    indexes = {
+        @Index(name = "COMTNLOGINLOG_IE1", columnList = "SITE_ID, SYS_TY_CODE, LOGIN_MTHD")
+    }
+)
+public class LoginLog {
+
+    @Id
+    @Column(name = "LOG_ID", length = 20, nullable = false)
+    private String logId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15)
+    private String sysTyCode;
+
+    @Column(name = "LOGIN_ID", length = 100)
+    private String loginId;
+
+    @Column(name = "LOGIN_IP", length = 128)
+    private String loginIp;
+
+    @Column(name = "LOGIN_MTHD", length = 4)
+    private String loginMthd;
+
+    @Column(name = "ERR_OCCRR_AT", length = 1, nullable = false)
+    private String errOccrrAt;
+
+    @Column(name = "ERROR_CODE", length = 3)
+    private String errorCode;
+
+    @Column(name = "CREAT_DT")
+    private LocalDateTime creatDt;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/Member.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Member.java
@@ -0,0 +1,210 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 회원정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnmber",
+    indexes = {
+        @Index(name = "COMTNMBER_IE1", columnList = "USER_SE_CODE"),
+        @Index(name = "COMTNMBER_IE2", columnList = "SITE_ID")
+    }
+)
+public class Member {
+
+    @Id
+    @Column(name = "ESNTL_ID", length = 20, nullable = false)
+    private String esntlId;
+
+    @Column(name = "USER_ID", length = 100, nullable = false, unique = true)
+    private String userId;
+
+    @Column(name = "USER_SE_CODE", length = 15, nullable = false)
+    private String userSeCode;
+
+    @Column(name = "PASSWORD", length = 100)
+    private String password;
+
+    @Column(name = "USER_NM", length = 100)
+    private String userNm;
+
+    @Column(name = "EMAIL_ADRES", length = 100)
+    private String emailAdres;
+
+    @Column(name = "TLPHON_NO", length = 100)
+    private String tlphonNo;
+
+    @Column(name = "MOBLPHON_NO", length = 100)
+    private String moblphonNo;
+
+    @Column(name = "ZIP", length = 100)
+    private String zip;
+
+    @Column(name = "ADRES", length = 100)
+    private String adres;
+
+    @Column(name = "ADRES_DETAIL", length = 100)
+    private String adresDetail;
+
+    @Column(name = "BRTHDY", length = 100)
+    private String brthdy;
+
+    @Column(name = "SLRCLD_LRR_CODE", length = 15)
+    private String slrcldLrrCode;
+
+    @Column(name = "SEXDSTN", length = 15)
+    private String sexdstn;
+
+    @Column(name = "EMAIL_RECPTN_AT", length = 1)
+    private String emailRecptnAt;
+
+    @Column(name = "MOBLPHON_RECPTN_AT", length = 1)
+    private String moblphonRecptnAt;
+
+    @Column(name = "PHOTO_ORIGINAL_FILE_NM", length = 255)
+    private String photoOriginalFileNm;
+
+    @Column(name = "PHOTO_STRE_FILE_NM", length = 255)
+    private String photoStreFileNm;
+
+    @Column(name = "DELETE_AT", length = 1)
+    private String deleteAt;
+
+    @Column(name = "DELETE_PNTTM")
+    private LocalDateTime deletePnttm;
+
+    @Column(name = "DELETE_RESN", length = 2500)
+    private String deleteResn;
+
+    @Column(name = "CONFM_AT", length = 1)
+    private String confmAt;
+
+    @Column(name = "CONFM_PNTTM")
+    private LocalDateTime confmPnttm;
+
+    @Column(name = "CREDT_ID", length = 64)
+    private String credtId;
+
+    @Column(name = "CRTFCT_DN", length = 200)
+    private String crtFctDn;
+
+    @Column(name = "CRTFCT_SERIAL", length = 200)
+    private String crtFctSerial;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "FRST_REGIST_IP", length = 128)
+    private String frstRegistIp;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDate lastUpdtPnttm;
+
+    @Column(name = "ST_GRADE", length = 100)
+    private String stGrade;
+
+    @Column(name = "ST_CLASS", length = 100)
+    private String stClass;
+
+    @Column(name = "ST_NUMBER", length = 100)
+    private String stNumber;
+
+    @Column(name = "SCHUL_CODE", length = 100)
+    private String schulCode;
+
+    @Column(name = "SCHUL_NM", length = 30)
+    private String schulNm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/Menu.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Menu.java
@@ -0,0 +1,209 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 사이트메뉴
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnsitemnu",
+    indexes = {
+        @Index(name = "COMTNSITEMNU_IE1", columnList = "SITE_ID, SYS_TY_CODE"),
+        @Index(name = "COMTNSITEMNU_IE2", columnList = "UPPER_MENU_ID")
+    }
+)
+public class Menu {
+
+    @Id
+    @Column(name = "MENU_ID", length = 20, nullable = false)
+    private String menuId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15)
+    private String sysTyCode;
+
+    @Column(name = "UPPER_MENU_ID", length = 20)
+    private String upperMenuId;
+
+    @Column(name = "COMPOSITION_TY_CODE", length = 15)
+    private String compositionTyCode;
+
+    @Column(name = "CNTNTS_TY_CODE", length = 20)
+    private String cntntsTyCode;
+
+    @Column(name = "MENU_NM", length = 50, nullable = false)
+    private String menuNm;
+
+    @Column(name = "IMAGE_FILE_NM", length = 255)
+    private String imageFileNm;
+
+    @Column(name = "HTML_USE_AT", length = 1, nullable = false)
+    private String htmlUseAt;
+
+    @Column(name = "HTMLSOURC_TY_CODE", length = 15)
+    private String htmlsourcTyCode;
+
+    @Column(name = "STYLE_CN", columnDefinition = "mediumtext")
+    private String styleCn;
+
+    @Column(name = "SCRIPT_CN", columnDefinition = "mediumtext")
+    private String scriptCn;
+
+    @Column(name = "HTML_CN", columnDefinition = "mediumtext")
+    private String htmlCn;
+
+    @Column(name = "ATCH_FILE_ID", length = 20)
+    private String atchFileId;
+
+    @Column(name = "MOBILE_HTMLSOURC_TY_CODE", length = 15)
+    private String mobileHtmlsourcTyCode;
+
+    @Column(name = "MOBILE_STYLE_CN", columnDefinition = "mediumtext")
+    private String mobileStyleCn;
+
+    @Column(name = "MOBILE_SCRIPT_CN", columnDefinition = "mediumtext")
+    private String mobileScriptCn;
+
+    @Column(name = "MOBILE_HTML_CN", columnDefinition = "mediumtext")
+    private String mobileHtmlCn;
+
+    @Column(name = "MOBILE_ATCH_FILE_ID", length = 20)
+    private String mobileAtchFileId;
+
+    @Column(name = "PROGRM_ID", length = 30)
+    private String progrmId;
+
+    @Column(name = "PROGRM_FACTR", length = 30)
+    private String progrmFactr;
+
+    @Column(name = "URL", length = 255)
+    private String url;
+
+    @Column(name = "EXPSR_USE_AT", length = 1, nullable = false)
+    private String expsrUseAt;
+
+    @Column(name = "SORT_ORDR")
+    private Integer sortOrdr;
+
+    @Column(name = "MENU_LEVEL", nullable = false)
+    private Integer menuLevel;
+
+    @Column(name = "NWD_AT", length = 1, nullable = false)
+    private String nwdAt;
+
+    @Column(name = "MOBILE_USE_AT", length = 1, nullable = false)
+    private String mobileUseAt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+    @Column(name = "STDNT_USE_AT", length = 1, nullable = false)
+    private String stdntUseAt;
+
+    @Column(name = "STDNPRNT_USE_AT", length = 1, nullable = false)
+    private String stdnprntUseAt;
+
+    @Column(name = "PROFSR_USE_AT", length = 1, nullable = false)
+    private String profsrUseAt;
+
+    @Column(name = "GENERAL_USE_AT", length = 1, nullable = false)
+    private String generalUseAt;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/MileageLogSummary.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/MileageLogSummary.java
@@ -0,0 +1,35 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 마일리지로그요약
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtsmlglogsummary")
+public class MileageLogSummary {
+
+    @EmbeddedId
+    private MileageLogSummaryId id;
+
+    @Column(name = "IRDS_MLG_SCORE")
+    private Long irdsMlgScore;
+
+    @Column(name = "ADSBTR_MLG_SCORE")
+    private Long adsbtrMlgScore;
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/MileageLogSummaryId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/MileageLogSummaryId.java
@@ -0,0 +1,74 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 마일리지로그요약 복합키
+ */
+@Embeddable
+public class MileageLogSummaryId implements Serializable {
+
+    @Column(name = "OCCRRNC_DE", length = 8, nullable = false)
+    private String occrrncDe;
+
+    @Column(name = "SITE_ID", length = 20, nullable = false)
+    private String siteId;
+
+    @Column(name = "MLG_CODE", length = 30, nullable = false)
+    private String mlgCode;
+
+    public MileageLogSummaryId() {
+    }
+
+    public MileageLogSummaryId(String occrrncDe, String siteId, String mlgCode) {
+        this.occrrncDe = occrrncDe;
+        this.siteId = siteId;
+        this.mlgCode = mlgCode;
+    }
+
+    public String getOccrrncDe() {
+        return occrrncDe;
+    }
+
+    public void setOccrrncDe(String occrrncDe) {
+        this.occrrncDe = occrrncDe;
+    }
+
+    public String getSiteId() {
+        return siteId;
+    }
+
+    public void setSiteId(String siteId) {
+        this.siteId = siteId;
+    }
+
+    public String getMlgCode() {
+        return mlgCode;
+    }
+
+    public void setMlgCode(String mlgCode) {
+        this.mlgCode = mlgCode;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof MileageLogSummaryId)) {
+            return false;
+        }
+        MileageLogSummaryId that = (MileageLogSummaryId) o;
+        return Objects.equals(occrrncDe, that.occrrncDe)
+            && Objects.equals(siteId, that.siteId)
+            && Objects.equals(mlgCode, that.mlgCode);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(occrrncDe, siteId, mlgCode);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/Popup.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Popup.java
@@ -0,0 +1,133 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 팝업관리
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnpopupmanage",
+    indexes = {
+        @Index(name = "COMTNPOPUPMANAGE_IE1", columnList = "SITE_ID, SYS_TY_CODE")
+    }
+)
+public class Popup {
+
+    @Id
+    @Column(name = "POPUP_ID", length = 20, nullable = false)
+    private String popupId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15, nullable = false)
+    private String sysTyCode;
+
+    @Column(name = "ATCH_FILE_ID", length = 20)
+    private String atchFileId;
+
+    @Column(name = "POPUP_TITLE_NM", length = 255)
+    private String popupTitleNm;
+
+    @Column(name = "POPUP_HLC", length = 20)
+    private String popupHlc;
+
+    @Column(name = "POPUP_WLC", length = 20)
+    private String popupWlc;
+
+    @Column(name = "POPUP_HSIZE", length = 20)
+    private String popupHsize;
+
+    @Column(name = "POPUP_WSIZE", length = 20)
+    private String popupWsize;
+
+    @Column(name = "POPUP_CN", columnDefinition = "mediumtext")
+    private String popupCn;
+
+    @Column(name = "FILE_URL", length = 255)
+    private String fileUrl;
+
+    @Column(name = "NTCE_BGNDE", length = 14)
+    private String ntceBgnde;
+
+    @Column(name = "NTCE_ENDDE", length = 14)
+    private String ntceEndde;
+
+    @Column(name = "STOP_VEW_AT", length = 1, nullable = false)
+    private String stopVewAt;
+
+    @Column(name = "NTCE_AT", length = 1, nullable = false)
+    private String ntceAt;
+
+    @Column(name = "POPUP_LIST_AT", length = 1, nullable = false)
+    private String popupListAt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/Role.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Role.java
@@ -0,0 +1,57 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 롤정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtnroleinfo")
+public class Role {
+
+    @Id
+    @Column(name = "ROLE_CODE", length = 50, nullable = false)
+    private String roleCode;
+
+    @Column(name = "ROLE_DC", length = 100)
+    private String roleDc;
+
+    @Column(name = "ROLE_CREAT_DE", nullable = false)
+    private LocalDateTime roleCreatDe;
+
+    @Column(name = "ROLE_NM", length = 50, nullable = false)
+    private String roleNm;
+
+    @Column(name = "ROLE_PTN", length = 300)
+    private String rolePtn;
+
+    @Column(name = "ROLE_TYP", length = 50)
+    private String roleTyp;
+
+    @Column(name = "ROLE_SORT")
+    private Integer roleSort;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/RoleHierarchy.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/RoleHierarchy.java
@@ -0,0 +1,30 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 롤 계층구조
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnroles_hierarchy",
+    indexes = {
+        @Index(name = "COMTNROLES_HIERARCHY_FK1", columnList = "CHILD_ROLE")
+    }
+)
+public class RoleHierarchy {
+
+    @EmbeddedId
+    private RoleHierarchyId id;
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/RoleHierarchyId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/RoleHierarchyId.java
@@ -0,0 +1,60 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 롤 계층구조 복합키
+ */
+@Embeddable
+public class RoleHierarchyId implements Serializable {
+
+    @Column(name = "PARENT_ROLE", nullable = false)
+    private Integer parentRole;
+
+    @Column(name = "CHILD_ROLE", nullable = false)
+    private Integer childRole;
+
+    public RoleHierarchyId() {
+    }
+
+    public RoleHierarchyId(Integer parentRole, Integer childRole) {
+        this.parentRole = parentRole;
+        this.childRole = childRole;
+    }
+
+    public Integer getParentRole() {
+        return parentRole;
+    }
+
+    public void setParentRole(Integer parentRole) {
+        this.parentRole = parentRole;
+    }
+
+    public Integer getChildRole() {
+        return childRole;
+    }
+
+    public void setChildRole(Integer childRole) {
+        this.childRole = childRole;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof RoleHierarchyId)) {
+            return false;
+        }
+        RoleHierarchyId that = (RoleHierarchyId) o;
+        return Objects.equals(parentRole, that.parentRole) && Objects.equals(childRole, that.childRole);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(parentRole, childRole);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/School.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/School.java
@@ -0,0 +1,81 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 학교정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comschulinfo")
+public class School {
+
+    @Id
+    @Column(name = "SCHUL_CODE", length = 10, nullable = false)
+    private String schulCode;
+
+    @Column(name = "CDDC_NM", length = 30)
+    private String cddcNm;
+
+    @Column(name = "CDDC_SPORT", length = 100)
+    private String cddcSport;
+
+    @Column(name = "GRADE_CODE", length = 10)
+    private String gradeCode;
+
+    @Column(name = "FOND", length = 2, nullable = false)
+    private String fond;
+
+    @Column(name = "SCHUL_NM", length = 30, nullable = false)
+    private String schulNm;
+
+    @Column(name = "AREA", length = 10)
+    private String area;
+
+    @Column(name = "HGSCHL", length = 10)
+    private String hgschl;
+
+    @Column(name = "SCHUL_RDNMADR", length = 100)
+    private String schulRdnmadr;
+
+    @Column(name = "ATDRC", length = 10)
+    private String atdrc;
+
+    @Column(name = "BNHHYN", length = 1, nullable = false)
+    private String bnhhyn;
+
+    @Column(name = "MWMN", length = 5)
+    private String mwmn;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/Seq.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Seq.java
@@ -0,0 +1,31 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 시퀀스정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtecopseq")
+public class Seq {
+
+    @Id
+    @Column(name = "TABLE_NAME", length = 20, nullable = false)
+    private String tableName;
+
+    @Column(name = "NEXT_ID", nullable = false)
+    private Integer nextId;
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/Site.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/Site.java
@@ -0,0 +1,232 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 사이트정보
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtnsiteinfo")
+public class Site {
+
+    @Id
+    @Column(name = "SITE_ID", length = 20, nullable = false)
+    private String siteId;
+
+    @Column(name = "SITE_NM", length = 50)
+    private String siteNm;
+
+    @Column(name = "SITE_URL", length = 255, nullable = false)
+    private String siteUrl;
+
+    @Column(name = "UPEND_LOGO_FILE_NM", length = 255)
+    private String upendLogoFileNm;
+
+    @Column(name = "LPT_LOGO_FILE_NM", length = 255)
+    private String lptLogoFileNm;
+
+    @Column(name = "ADRES_FILE_NM", length = 255)
+    private String adresFileNm;
+
+    @Column(name = "ADRES_REPLC_TEXT", length = 2500)
+    private String adresReplcText;
+
+    @Column(name = "REPRSNT_IMAGE_FILE_NM", length = 255)
+    private String reprsntImageFileNm;
+
+    @Column(name = "SLOGAN_FILE_NM", length = 255)
+    private String sloganFileNm;
+
+    @Column(name = "SLOGAN_REPLC_TEXT", length = 2500)
+    private String sloganReplcText;
+
+    @Column(name = "INDVDLINFO_POLICY", columnDefinition = "mediumtext")
+    private String indvdlinfoPolicy;
+
+    @Column(name = "USE_STPLAT", columnDefinition = "mediumtext")
+    private String useStplat;
+
+    @Column(name = "EMAIL_COLCT_POLICY", columnDefinition = "mediumtext")
+    private String emailColctPolicy;
+
+    @Column(name = "CPYRHT_STTEMNT_SVC", columnDefinition = "mediumtext")
+    private String cpyrhtSttemntSvc;
+
+    @Column(name = "MARKT_POLICY", columnDefinition = "mediumtext")
+    private String marktPolicy;
+
+    @Column(name = "LYT_SOURC_ID", length = 20)
+    private String lytSourcId;
+
+    @Column(name = "LYT_TMPLAT_ID", length = 20)
+    private String lytTmplatId;
+
+    @Column(name = "CMY_SOURC_ID", length = 20)
+    private String cmySourcId;
+
+    @Column(name = "CMY_TMPLAT_ID", length = 20)
+    private String cmyTmplatId;
+
+    @Column(name = "INSTT_CODE", length = 15)
+    private String insttCode;
+
+    @Column(name = "BRWSR_SJ", length = 100)
+    private String brwsrSj;
+
+    @Column(name = "TLPHON_NO", length = 15)
+    private String tlphonNo;
+
+    @Column(name = "FAX_NO", length = 15)
+    private String faxNo;
+
+    @Column(name = "ADRES", length = 100)
+    private String adres;
+
+    @Column(name = "MOUSE_SCRTY_APPLC_AT", length = 1, nullable = false)
+    private String mouseScrtyApplcAt;
+
+    @Column(name = "KYBRD_SCRTY_APPLC_AT", length = 1, nullable = false)
+    private String kybrdScrtyApplcAt;
+
+    @Column(name = "DPLCT_LOGIN_PERM_AT", length = 1, nullable = false)
+    private String dplctLoginPermAt;
+
+    @Column(name = "PASSWORD_MUMM_LT")
+    private Integer passwordMummLt;
+
+    @Column(name = "PASSWORD_MXMM_LT")
+    private Integer passwordMxmmLt;
+
+    @Column(name = "PASSWORD_NUMBER_POLICY_AT", length = 1, nullable = false)
+    private String passwordNumberPolicyAt;
+
+    @Column(name = "PASSWORD_CHRCTR_POLICY_AT", length = 1, nullable = false)
+    private String passwordChrctrPolicyAt;
+
+    @Column(name = "PASSWORD_SPCLCHRCTR_POLICY_AT", length = 1, nullable = false)
+    private String passwordSpclchrctrPolicyAt;
+
+    @Column(name = "MOBILE_USE_AT", length = 1, nullable = false)
+    private String mobileUseAt;
+
+    @Column(name = "PASSWORD_CHANGE_CYCLE")
+    private Integer passwordChangeCycle;
+
+    @Column(name = "LA", length = 20)
+    private String la;
+
+    @Column(name = "LO", length = 20)
+    private String lo;
+
+    @Column(name = "ACTVTY_AT", length = 1, nullable = false)
+    private String actvtyAt;
+
+    @Column(name = "USE_AT", length = 1, nullable = false)
+    private String useAt;
+
+    @Column(name = "FRST_REGISTER_PNTTM")
+    private LocalDateTime frstRegisterPnttm;
+
+    @Column(name = "FRST_REGISTER_ID", length = 100)
+    private String frstRegisterId;
+
+    @Column(name = "LAST_UPDUSR_PNTTM")
+    private LocalDateTime lastUpdtPnttm;
+
+    @Column(name = "LAST_UPDUSR_ID", length = 100)
+    private String lastUpdtId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/SiteMainContent.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/SiteMainContent.java
@@ -0,0 +1,30 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 사이트메인컨텐츠
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtnsitemaincntnts")
+public class SiteMainContent {
+
+    @EmbeddedId
+    private SiteMainContentId id;
+
+    @Column(name = "SORT_ORDR")
+    private Integer sortOrdr;
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/SiteMainContentId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/SiteMainContentId.java
@@ -0,0 +1,74 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 사이트메인컨텐츠 복합키
+ */
+@Embeddable
+public class SiteMainContentId implements Serializable {
+
+    @Column(name = "SITE_ID", length = 20, nullable = false)
+    private String siteId;
+
+    @Column(name = "CNTNTS_TY_CODE", length = 20, nullable = false)
+    private String cntntsTyCode;
+
+    @Column(name = "PROGRM_ID", length = 30, nullable = false)
+    private String progrmId;
+
+    public SiteMainContentId() {
+    }
+
+    public SiteMainContentId(String siteId, String cntntsTyCode, String progrmId) {
+        this.siteId = siteId;
+        this.cntntsTyCode = cntntsTyCode;
+        this.progrmId = progrmId;
+    }
+
+    public String getSiteId() {
+        return siteId;
+    }
+
+    public void setSiteId(String siteId) {
+        this.siteId = siteId;
+    }
+
+    public String getCntntsTyCode() {
+        return cntntsTyCode;
+    }
+
+    public void setCntntsTyCode(String cntntsTyCode) {
+        this.cntntsTyCode = cntntsTyCode;
+    }
+
+    public String getProgrmId() {
+        return progrmId;
+    }
+
+    public void setProgrmId(String progrmId) {
+        this.progrmId = progrmId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof SiteMainContentId)) {
+            return false;
+        }
+        SiteMainContentId that = (SiteMainContentId) o;
+        return Objects.equals(siteId, that.siteId)
+            && Objects.equals(cntntsTyCode, that.cntntsTyCode)
+            && Objects.equals(progrmId, that.progrmId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(siteId, cntntsTyCode, progrmId);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/domain/WebLog.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/WebLog.java
@@ -0,0 +1,73 @@
+package com.foxedu.basecms.domain;
+
+import java.time.LocalDateTime;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Index;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 웹로그
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(
+    name = "comtnweblog",
+    indexes = {
+        @Index(name = "COMTNWEBLOG_IE1", columnList = "OCCRRNC_PNTTM")
+    }
+)
+public class WebLog {
+
+    @Id
+    @Column(name = "REQUST_ID", length = 20, nullable = false)
+    private String requstId;
+
+    @Column(name = "SITE_ID", length = 20)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15)
+    private String sysTyCode;
+
+    @Column(name = "MENU_ID", length = 20)
+    private String menuId;
+
+    @Column(name = "RQESTER_IP", length = 128)
+    private String rqesterIp;
+
+    @Column(name = "RQESTER_ID", length = 100)
+    private String rqesterId;
+
+    @Column(name = "URL", length = 255)
+    private String url;
+
+    @Column(name = "MOBILE_AT", length = 1, nullable = false)
+    private String mobileAt;
+
+    @Column(name = "OCCRRNC_PNTTM")
+    private LocalDateTime occrrncPnttm;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/WebLogSummary.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/WebLogSummary.java
@@ -0,0 +1,35 @@
+package com.foxedu.basecms.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * 웹로그요약
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "comtsweblogsummary")
+public class WebLogSummary {
+
+    @EmbeddedId
+    private WebLogSummaryId id;
+
+    @Column(name = "INQIRE_CO")
+    private Long inqireCo;
+
+    @Column(name = "MOBILE_INQIRE_CO")
+    private Long mobileInqireCo;
+
+
+
+
+
+
+}
 
base/src/main/java/com/foxedu/basecms/domain/WebLogSummaryId.java (added)
+++ base/src/main/java/com/foxedu/basecms/domain/WebLogSummaryId.java
@@ -0,0 +1,87 @@
+package com.foxedu.basecms.domain;
+
+import java.io.Serializable;
+import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+/**
+ * 웹로그요약 복합키
+ */
+@Embeddable
+public class WebLogSummaryId implements Serializable {
+
+    @Column(name = "OCCRRNC_DE", length = 8, nullable = false)
+    private String occrrncDe;
+
+    @Column(name = "SITE_ID", length = 20, nullable = false)
+    private String siteId;
+
+    @Column(name = "SYS_TY_CODE", length = 15, nullable = false)
+    private String sysTyCode;
+
+    @Column(name = "MENU_ID", length = 20, nullable = false)
+    private String menuId;
+
+    public WebLogSummaryId() {
+    }
+
+    public WebLogSummaryId(String occrrncDe, String siteId, String sysTyCode, String menuId) {
+        this.occrrncDe = occrrncDe;
+        this.siteId = siteId;
+        this.sysTyCode = sysTyCode;
+        this.menuId = menuId;
+    }
+
+    public String getOccrrncDe() {
+        return occrrncDe;
+    }
+
+    public void setOccrrncDe(String occrrncDe) {
+        this.occrrncDe = occrrncDe;
+    }
+
+    public String getSiteId() {
+        return siteId;
+    }
+
+    public void setSiteId(String siteId) {
+        this.siteId = siteId;
+    }
+
+    public String getSysTyCode() {
+        return sysTyCode;
+    }
+
+    public void setSysTyCode(String sysTyCode) {
+        this.sysTyCode = sysTyCode;
+    }
+
+    public String getMenuId() {
+        return menuId;
+    }
+
+    public void setMenuId(String menuId) {
+        this.menuId = menuId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof WebLogSummaryId)) {
+            return false;
+        }
+        WebLogSummaryId that = (WebLogSummaryId) o;
+        return Objects.equals(occrrncDe, that.occrrncDe)
+            && Objects.equals(siteId, that.siteId)
+            && Objects.equals(sysTyCode, that.sysTyCode)
+            && Objects.equals(menuId, that.menuId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(occrrncDe, siteId, sysTyCode, menuId);
+    }
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComschulinfoRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComschulinfoRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.School;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComschulinfoRepository extends JpaRepository<School, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtccmmnclcodeRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtccmmnclcodeRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.ClassCode;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtccmmnclcodeRepository extends JpaRepository<ClassCode, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtccmmncodeRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtccmmncodeRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.CommonCode;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtccmmncodeRepository extends JpaRepository<CommonCode, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtccmmndetailcodeRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtccmmndetailcodeRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.CodeDetail;
+import com.foxedu.basecms.domain.CodeDetailId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtccmmndetailcodeRepository extends JpaRepository<CodeDetail, CodeDetailId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtecopseqRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtecopseqRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Seq;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtecopseqRepository extends JpaRepository<Seq, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnauthorinfoRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnauthorinfoRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Author;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnauthorinfoRepository extends JpaRepository<Author, Integer> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnauthorrolerelateRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnauthorrolerelateRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.AuthorRole;
+import com.foxedu.basecms.domain.AuthorRoleId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnauthorrolerelateRepository extends JpaRepository<AuthorRole, AuthorRoleId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbannerRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbannerRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Banner;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbannerRepository extends JpaRepository<Banner, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbbsRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbbsRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Bbs;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbbsRepository extends JpaRepository<Bbs, Long> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbbsctgryRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbbsctgryRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.BbsCategory;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbbsctgryRepository extends JpaRepository<BbsCategory, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbbsctgrymasterRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbbsctgrymasterRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.BbsCategoryMaster;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbbsctgrymasterRepository extends JpaRepository<BbsCategoryMaster, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbbsmasterRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbbsmasterRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.BbsMaster;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbbsmasterRepository extends JpaRepository<BbsMaster, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbbssourcRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbbssourcRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.BbsSource;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbbssourcRepository extends JpaRepository<BbsSource, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnbbstmplatRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnbbstmplatRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.BbsTemplate;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnbbstmplatRepository extends JpaRepository<BbsTemplate, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtncommentRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtncommentRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Comment;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtncommentRepository extends JpaRepository<Comment, Long> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnfileRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnfileRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.FileInfo;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnfileRepository extends JpaRepository<FileInfo, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnfiledetailRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnfiledetailRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.FileDetail;
+import com.foxedu.basecms.domain.FileDetailId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnfiledetailRepository extends JpaRepository<FileDetail, FileDetailId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnlogininfoRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnlogininfoRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.LoginInfo;
+import com.foxedu.basecms.domain.LoginInfoId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnlogininfoRepository extends JpaRepository<LoginInfo, LoginInfoId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnloginlogRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnloginlogRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.LoginLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnloginlogRepository extends JpaRepository<LoginLog, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnmberRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnmberRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Member;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnmberRepository extends JpaRepository<Member, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnpopupmanageRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnpopupmanageRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Popup;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnpopupmanageRepository extends JpaRepository<Popup, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnroleinfoRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnroleinfoRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Role;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnroleinfoRepository extends JpaRepository<Role, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnrolesHierarchyRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnrolesHierarchyRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.RoleHierarchy;
+import com.foxedu.basecms.domain.RoleHierarchyId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnrolesHierarchyRepository extends JpaRepository<RoleHierarchy, RoleHierarchyId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnsiteinfoRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnsiteinfoRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Site;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnsiteinfoRepository extends JpaRepository<Site, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnsitemaincntntsRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnsitemaincntntsRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.SiteMainContent;
+import com.foxedu.basecms.domain.SiteMainContentId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnsitemaincntntsRepository extends JpaRepository<SiteMainContent, SiteMainContentId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnsitemnuRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnsitemnuRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.Menu;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnsitemnuRepository extends JpaRepository<Menu, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtnweblogRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtnweblogRepository.java
@@ -0,0 +1,7 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.WebLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtnweblogRepository extends JpaRepository<WebLog, String> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtsbbssummaryRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtsbbssummaryRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.BbsSummary;
+import com.foxedu.basecms.domain.BbsSummaryId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtsbbssummaryRepository extends JpaRepository<BbsSummary, BbsSummaryId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtsmlglogsummaryRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtsmlglogsummaryRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.MileageLogSummary;
+import com.foxedu.basecms.domain.MileageLogSummaryId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtsmlglogsummaryRepository extends JpaRepository<MileageLogSummary, MileageLogSummaryId> {
+}
 
base/src/main/java/com/foxedu/basecms/repository/ComtsweblogsummaryRepository.java (added)
+++ base/src/main/java/com/foxedu/basecms/repository/ComtsweblogsummaryRepository.java
@@ -0,0 +1,8 @@
+package com.foxedu.basecms.repository;
+
+import com.foxedu.basecms.domain.WebLogSummary;
+import com.foxedu.basecms.domain.WebLogSummaryId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ComtsweblogsummaryRepository extends JpaRepository<WebLogSummary, WebLogSummaryId> {
+}
base/src/main/java/egovframework/com/cmm/CustomJacksonObjectMapper.java
--- base/src/main/java/egovframework/com/cmm/CustomJacksonObjectMapper.java
+++ base/src/main/java/egovframework/com/cmm/CustomJacksonObjectMapper.java
@@ -1,18 +1,18 @@
-package egovframework.com.cmm;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider;
-import egovframework.com.cmm.NullSerializer;
-
-
-@SuppressWarnings("serial")
-public class CustomJacksonObjectMapper extends ObjectMapper {
-
-	public CustomJacksonObjectMapper() {
-		super();
-
-		DefaultSerializerProvider.Impl sp = new DefaultSerializerProvider.Impl();
-		sp.setNullValueSerializer(new NullSerializer());
-		this.setSerializerProvider(sp);
-	}
-}
+package egovframework.com.cmm;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider;
+import egovframework.com.cmm.NullSerializer;
+
+
+@SuppressWarnings("serial")
+public class CustomJacksonObjectMapper extends ObjectMapper {
+
+	public CustomJacksonObjectMapper() {
+		super();
+
+		DefaultSerializerProvider.Impl sp = new DefaultSerializerProvider.Impl();
+		sp.setNullValueSerializer(new NullSerializer());
+		this.setSerializerProvider(sp);
+	}
+}
base/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java
--- base/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java
+++ base/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java
@@ -1,41 +1,41 @@
-package egovframework.com.cmm;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
-
-/**
- * @Class Name : EgovComExcepHndlr.java
- * @Description : 공통서비스의 exception 처리 클래스
- * @Modification Information
- *
- *    수정일       수정자         수정내용
- *    -------        -------     -------------------
- *    2009. 3. 13.     이삼섭
- *
- * @author 공통 서비스 개발팀 이삼섭
- * @since 2009. 3. 13.
- * @version
- * @see
- *
- */ 
-public class EgovComExcepHndlr implements ExceptionHandler {
- 
-    /**
-	 * @uml.property  name="log"
-	 * @uml.associationEnd  multiplicity="(1 1)"
-	 */
-    protected Log log = LogFactory.getLog(this.getClass());
-    
-    /*
-    @Resource(name = "otherSSLMailSender")
-    private SimpleSSLMail mailSender;
-     */
-    /**
-     * 발생된 Exception을 처리한다.
-     */
-    public void occur(Exception ex, String packageName) {
-    	log.error(packageName, ex);
-    }
-}
+package egovframework.com.cmm;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
+
+/**
+ * @Class Name : EgovComExcepHndlr.java
+ * @Description : 공통서비스의 exception 처리 클래스
+ * @Modification Information
+ *
+ *    수정일       수정자         수정내용
+ *    -------        -------     -------------------
+ *    2009. 3. 13.     이삼섭
+ *
+ * @author 공통 서비스 개발팀 이삼섭
+ * @since 2009. 3. 13.
+ * @version
+ * @see
+ *
+ */ 
+public class EgovComExcepHndlr implements ExceptionHandler {
+ 
+    /**
+	 * @uml.property  name="log"
+	 * @uml.associationEnd  multiplicity="(1 1)"
+	 */
+    protected Log log = LogFactory.getLog(this.getClass());
+    
+    /*
+    @Resource(name = "otherSSLMailSender")
+    private SimpleSSLMail mailSender;
+     */
+    /**
+     * 발생된 Exception을 처리한다.
+     */
+    public void occur(Exception ex, String packageName) {
+    	log.error(packageName, ex);
+    }
+}
base/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java
--- base/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java
+++ base/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java
@@ -1,20 +1,20 @@
-package egovframework.com.cmm;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
-
-public class EgovComOthersExcepHndlr implements ExceptionHandler {
-
-    /**
-	 * @uml.property  name="log"
-	 * @uml.associationEnd  multiplicity="(1 1)"
-	 */
-    protected Log log = LogFactory.getLog(this.getClass());
-    
-    public void occur(Exception exception, String packageName) {
-    	//log.debug(" EgovServiceExceptionHandler run...............");
-	log.error(packageName, exception);
-    }
-}
+package egovframework.com.cmm;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
+
+public class EgovComOthersExcepHndlr implements ExceptionHandler {
+
+    /**
+	 * @uml.property  name="log"
+	 * @uml.associationEnd  multiplicity="(1 1)"
+	 */
+    protected Log log = LogFactory.getLog(this.getClass());
+    
+    public void occur(Exception exception, String packageName) {
+    	//log.debug(" EgovServiceExceptionHandler run...............");
+	log.error(packageName, exception);
+    }
+}
base/src/main/java/egovframework/com/cmm/EgovMessageSource.java
--- base/src/main/java/egovframework/com/cmm/EgovMessageSource.java
+++ base/src/main/java/egovframework/com/cmm/EgovMessageSource.java
@@ -1,61 +1,61 @@
-package egovframework.com.cmm;
-
-import java.util.Locale;
-
-import org.springframework.context.MessageSource;
-import org.springframework.context.support.ReloadableResourceBundleMessageSource;
-
-/**
- * 메시지 리소스 사용을 위한 MessageSource 인터페이스 및 ReloadableResourceBundleMessageSource 클래스의 구현체
- * @author 공통서비스 개발팀 이문준
- * @since 2009.06.01
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2009.03.11  이문준          최초 생성
- *
- * </pre>
- */
-
-public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource {
-
-	/**
-	 * @uml.property  name="reloadableResourceBundleMessageSource"
-	 * @uml.associationEnd  
-	 */
-	private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource;
-
-	/**
-	 * getReloadableResourceBundleMessageSource() 
-	 * @param reloadableResourceBundleMessageSource  - resource MessageSource
-	 * @return  ReloadableResourceBundleMessageSource
-	 * @uml.property  name="reloadableResourceBundleMessageSource"
-	 */	
-	public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) {
-		this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource;
-	}
-	
-	/**
-	 * getReloadableResourceBundleMessageSource() 
-	 * @return  ReloadableResourceBundleMessageSource
-	 * @uml.property  name="reloadableResourceBundleMessageSource"
-	 */	
-	public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() {
-		return reloadableResourceBundleMessageSource;
-	}
-	
-	/**
-	 * 정의된 메세지 조회
-	 * @param code - 메세지 코드
-	 * @return String
-	 */	
-	public String getMessage(String code) {
-		return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault());
-	}
-
-}
+package egovframework.com.cmm;
+
+import java.util.Locale;
+
+import org.springframework.context.MessageSource;
+import org.springframework.context.support.ReloadableResourceBundleMessageSource;
+
+/**
+ * 메시지 리소스 사용을 위한 MessageSource 인터페이스 및 ReloadableResourceBundleMessageSource 클래스의 구현체
+ * @author 공통서비스 개발팀 이문준
+ * @since 2009.06.01
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.03.11  이문준          최초 생성
+ *
+ * </pre>
+ */
+
+public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource {
+
+	/**
+	 * @uml.property  name="reloadableResourceBundleMessageSource"
+	 * @uml.associationEnd  
+	 */
+	private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource;
+
+	/**
+	 * getReloadableResourceBundleMessageSource() 
+	 * @param reloadableResourceBundleMessageSource  - resource MessageSource
+	 * @return  ReloadableResourceBundleMessageSource
+	 * @uml.property  name="reloadableResourceBundleMessageSource"
+	 */	
+	public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) {
+		this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource;
+	}
+	
+	/**
+	 * getReloadableResourceBundleMessageSource() 
+	 * @return  ReloadableResourceBundleMessageSource
+	 * @uml.property  name="reloadableResourceBundleMessageSource"
+	 */	
+	public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() {
+		return reloadableResourceBundleMessageSource;
+	}
+	
+	/**
+	 * 정의된 메세지 조회
+	 * @param code - 메세지 코드
+	 * @return String
+	 */	
+	public String getMessage(String code) {
+		return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault());
+	}
+
+}
base/src/main/java/egovframework/com/cmm/EgovWebUtil.java
--- base/src/main/java/egovframework/com/cmm/EgovWebUtil.java
+++ base/src/main/java/egovframework/com/cmm/EgovWebUtil.java
@@ -1,108 +1,108 @@
-package egovframework.com.cmm;
-
-import java.util.regex.Pattern;
-
-/**
- * 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체)
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    	--------    ---------------------------
- *   2011.10.10  한성곤          최초 생성
- *
- * </pre>
- */
-
-public class EgovWebUtil {
-	public static String clearXSSMinimum(String value) {
-		if (value == null || value.trim().equals("")) {
-			return "";
-		}
-		
-		String returnValue = value;
-
-		returnValue = returnValue.replaceAll("&", "&amp;");
-		returnValue = returnValue.replaceAll("<", "&lt;");
-		returnValue = returnValue.replaceAll(">", "&gt;");
-		returnValue = returnValue.replaceAll("\"", "&#34;");
-		returnValue = returnValue.replaceAll("\'", "&#39;");
-		return returnValue;
-	}
-
-	public static String clearXSSMaximum(String value) {
-		String returnValue = value;
-		returnValue = clearXSSMinimum(returnValue);
-
-		returnValue = returnValue.replaceAll("%00", null);
-
-		returnValue = returnValue.replaceAll("%", "&#37;");
-
-		// \\. => .
-
-		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
-		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
-		returnValue = returnValue.replaceAll("\\./", ""); // ./
-		returnValue = returnValue.replaceAll("%2F", "");
-
-		return returnValue;
-	}
-
-	public static String filePathBlackList(String value) {
-		String returnValue = value;
-		if (returnValue == null || returnValue.trim().equals("")) {
-			return "";
-		}
-
-		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
-		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
-
-		return returnValue;
-	}
-
-	/**
-	 * 행안부 보안취약점 점검 조치 방안.
-	 *
-	 * @param value
-	 * @return
-	 */
-	public static String filePathReplaceAll(String value) {
-		String returnValue = value;
-		if (returnValue == null || returnValue.trim().equals("")) {
-			return "";
-		}
-
-		returnValue = returnValue.replaceAll("/", "");
-		returnValue = returnValue.replaceAll("\\", "");
-		returnValue = returnValue.replaceAll("\\.\\.", ""); // ..
-		returnValue = returnValue.replaceAll("&", "");
-
-		return returnValue;
-	}
-
-	public static String filePathWhiteList(String value) {
-		return value; // TODO
-	}
-	
-	 public static boolean isIPAddress(String str) {
-		Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
-		
-		return ipPattern.matcher(str).matches();
-    }
-	 
-	 public static String removeCRLF(String parameter) {
-		 return parameter.replaceAll("\r", "").replaceAll("\n", "");
-	 }
-	 
-	 public static String removeSQLInjectionRisk(String parameter) {
-		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", "");
-	 }
-	 
-	 public static String removeOSCmdRisk(String parameter) {
-		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", "");
-	 }
-	 
-	 
-
+package egovframework.com.cmm;
+
+import java.util.regex.Pattern;
+
+/**
+ * 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체)
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    	--------    ---------------------------
+ *   2011.10.10  한성곤          최초 생성
+ *
+ * </pre>
+ */
+
+public class EgovWebUtil {
+	public static String clearXSSMinimum(String value) {
+		if (value == null || value.trim().equals("")) {
+			return "";
+		}
+		
+		String returnValue = value;
+
+		returnValue = returnValue.replaceAll("&", "&amp;");
+		returnValue = returnValue.replaceAll("<", "&lt;");
+		returnValue = returnValue.replaceAll(">", "&gt;");
+		returnValue = returnValue.replaceAll("\"", "&#34;");
+		returnValue = returnValue.replaceAll("\'", "&#39;");
+		return returnValue;
+	}
+
+	public static String clearXSSMaximum(String value) {
+		String returnValue = value;
+		returnValue = clearXSSMinimum(returnValue);
+
+		returnValue = returnValue.replaceAll("%00", null);
+
+		returnValue = returnValue.replaceAll("%", "&#37;");
+
+		// \\. => .
+
+		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
+		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
+		returnValue = returnValue.replaceAll("\\./", ""); // ./
+		returnValue = returnValue.replaceAll("%2F", "");
+
+		return returnValue;
+	}
+
+	public static String filePathBlackList(String value) {
+		String returnValue = value;
+		if (returnValue == null || returnValue.trim().equals("")) {
+			return "";
+		}
+
+		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
+		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
+
+		return returnValue;
+	}
+
+	/**
+	 * 행안부 보안취약점 점검 조치 방안.
+	 *
+	 * @param value
+	 * @return
+	 */
+	public static String filePathReplaceAll(String value) {
+		String returnValue = value;
+		if (returnValue == null || returnValue.trim().equals("")) {
+			return "";
+		}
+
+		returnValue = returnValue.replaceAll("/", "");
+		returnValue = returnValue.replaceAll("\\", "");
+		returnValue = returnValue.replaceAll("\\.\\.", ""); // ..
+		returnValue = returnValue.replaceAll("&", "");
+
+		return returnValue;
+	}
+
+	public static String filePathWhiteList(String value) {
+		return value; // TODO
+	}
+	
+	 public static boolean isIPAddress(String str) {
+		Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
+		
+		return ipPattern.matcher(str).matches();
+    }
+	 
+	 public static String removeCRLF(String parameter) {
+		 return parameter.replaceAll("\r", "").replaceAll("\n", "");
+	 }
+	 
+	 public static String removeSQLInjectionRisk(String parameter) {
+		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", "");
+	 }
+	 
+	 public static String removeOSCmdRisk(String parameter) {
+		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", "");
+	 }
+	 
+	 
+
 }
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java
--- base/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java
+++ base/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java
@@ -1,40 +1,40 @@
-package egovframework.com.cmm;
-
-import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
-
-public class ImagePaginationRenderer extends AbstractPaginationRenderer {
-  
-	public ImagePaginationRenderer() {
-		/*
-		firstPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_prevstart.gif\" alt=\"첫 페이지\"/></a></li>";
-		previousPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_prev.gif\" alt=\"이전\"/></a></li>";
-		currentPageLabel = "<li><span class=\"current\">{0}</span></li>";
-		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\">{2}</a></li>";
-		nextPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_next.gif\" alt=\"다음\"/></a></li>";
-		lastPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_nextend.gif\" alt=\"마지막 페이지\"/></a></li>";
-		*/
-		/*
-		firstPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\"><span>◀</span> First</a></li>";
-		previousPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\"><span>◀</span></a></li>";
-		currentPageLabel = "<li><em class=\"active\" title=\"현재페이지\">■</em></li>";
-		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" title=\"{1}페이지\">■</a></li>";
-		nextPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\"> <span>▶</span></a></li>";
-		lastPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\">Last <span>▶</span></a></li>";
-		*/
-		/*
-		firstPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_first.gif\" alt=\"처음\"/></a></li>";
-		previousPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_prew.gif\" alt=\"이전\"/></a></li>";
-		currentPageLabel = "<li><a class=\"commthis\">{0}</a></li>";
-		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\">{2}</a></li>";
-		nextPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_next.gif\" alt=\"다음\"/></a></li>";
-		lastPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_last.gif\" alt=\"마지막\"/></a></li>";
-		*/
-		firstPageLabel = "<li class=\"ppv\"><a href=\"{0}&amp;pageIndex={1}\" title=\"처음으로\"><span class=\"txt-hide\">처음으로</span></a></li>";
-		previousPageLabel = "<li class=\"pv\"><a href=\"{0}&amp;pageIndex={1}\" title=\"이전\"><span class=\"txt-hide\">이전</span></a></li>";
-		currentPageLabel = "<li class=\"is-active\"><a href=\"#none\" title=\"to {0} page\">{0}</a></li>";
-		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" title=\"to {1} page\">{1}</a></li>";
-		nextPageLabel = "<li class=\"fw\"><a href=\"{0}&amp;pageIndex={1}\" title=\"다음\"><span class=\"txt-hide\">다음</span></a></li>";
-		lastPageLabel = "<li class=\"ffw\"><a href=\"{0}&amp;pageIndex={1}\" title=\"끝으로\"><span class=\"txt-hide\">끝으로</span></a></li>";
-  	}
-  
-}
+package egovframework.com.cmm;
+
+import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
+
+public class ImagePaginationRenderer extends AbstractPaginationRenderer {
+  
+	public ImagePaginationRenderer() {
+		/*
+		firstPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_prevstart.gif\" alt=\"첫 페이지\"/></a></li>";
+		previousPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_prev.gif\" alt=\"이전\"/></a></li>";
+		currentPageLabel = "<li><span class=\"current\">{0}</span></li>";
+		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\">{2}</a></li>";
+		nextPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_next.gif\" alt=\"다음\"/></a></li>";
+		lastPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"btn\"><img src=\"/template/common/images/bbs/btn_li_nextend.gif\" alt=\"마지막 페이지\"/></a></li>";
+		*/
+		/*
+		firstPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\"><span>◀</span> First</a></li>";
+		previousPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\"><span>◀</span></a></li>";
+		currentPageLabel = "<li><em class=\"active\" title=\"현재페이지\">■</em></li>";
+		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" title=\"{1}페이지\">■</a></li>";
+		nextPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\"> <span>▶</span></a></li>";
+		lastPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\" title=\"{1}페이지\">Last <span>▶</span></a></li>";
+		*/
+		/*
+		firstPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_first.gif\" alt=\"처음\"/></a></li>";
+		previousPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_prew.gif\" alt=\"이전\"/></a></li>";
+		currentPageLabel = "<li><a class=\"commthis\">{0}</a></li>";
+		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\">{2}</a></li>";
+		nextPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_next.gif\" alt=\"다음\"/></a></li>";
+		lastPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" class=\"move\"><img src=\"/template/manage/images/board/btn_last.gif\" alt=\"마지막\"/></a></li>";
+		*/
+		firstPageLabel = "<li class=\"ppv\"><a href=\"{0}&amp;pageIndex={1}\" title=\"처음으로\"><span class=\"txt-hide\">처음으로</span></a></li>";
+		previousPageLabel = "<li class=\"pv\"><a href=\"{0}&amp;pageIndex={1}\" title=\"이전\"><span class=\"txt-hide\">이전</span></a></li>";
+		currentPageLabel = "<li class=\"is-active\"><a href=\"#none\" title=\"to {0} page\">{0}</a></li>";
+		otherPageLabel = "<li><a href=\"{0}&amp;pageIndex={1}\" title=\"to {1} page\">{1}</a></li>";
+		nextPageLabel = "<li class=\"fw\"><a href=\"{0}&amp;pageIndex={1}\" title=\"다음\"><span class=\"txt-hide\">다음</span></a></li>";
+		lastPageLabel = "<li class=\"ffw\"><a href=\"{0}&amp;pageIndex={1}\" title=\"끝으로\"><span class=\"txt-hide\">끝으로</span></a></li>";
+  	}
+  
+}
base/src/main/java/egovframework/com/cmm/ImageSubPaginationRenderer.java
--- base/src/main/java/egovframework/com/cmm/ImageSubPaginationRenderer.java
+++ base/src/main/java/egovframework/com/cmm/ImageSubPaginationRenderer.java
@@ -1,23 +1,23 @@
-package egovframework.com.cmm;
-
-import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
-
-public class ImageSubPaginationRenderer extends AbstractPaginationRenderer {
-	
-	public ImageSubPaginationRenderer() {
-		/*
-		firstPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"처음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_first.gif\" alt=\"처음\"/></a>";
-		previousPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"이전페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_prew.gif\" alt=\"이전\"/></a>";
-		currentPageLabel = "<a class=\"commthis\">{0}</a>";
-		otherPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"{2}페이지로이동\">{2}</a>";
-		nextPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"다음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_next.gif\" alt=\"다음\"/></a>";
-		lastPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"마지막페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_last.gif\" alt=\"마지막\"/></a>";
-		*/
-		firstPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"first\" title=\"처음페이지로 이동\"><span>처음</span></a>";
-		previousPageLabel 	= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"prev\" title=\"이전페이지로 이동\"><span>이전</span></a>";
-		currentPageLabel 	= "<strong class=\"current\">{0}</strong>";
-		otherPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"page\" title=\"{2}페이지로 이동\">{2}</a>";
-		nextPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"next\" title=\"다음페이지로 이동\"><span>다음</span></a>";
-		lastPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"last\" title=\"마지막페이지로 이동\"><span>마지막</span></a>";
-	}
-}
+package egovframework.com.cmm;
+
+import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
+
+public class ImageSubPaginationRenderer extends AbstractPaginationRenderer {
+	
+	public ImageSubPaginationRenderer() {
+		/*
+		firstPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"처음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_first.gif\" alt=\"처음\"/></a>";
+		previousPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"이전페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_prew.gif\" alt=\"이전\"/></a>";
+		currentPageLabel = "<a class=\"commthis\">{0}</a>";
+		otherPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"{2}페이지로이동\">{2}</a>";
+		nextPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"다음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_next.gif\" alt=\"다음\"/></a>";
+		lastPageLabel = "<a href=\"{0}&amp;subPageIndex={1}\" title=\"마지막페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_last.gif\" alt=\"마지막\"/></a>";
+		*/
+		firstPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"first\" title=\"처음페이지로 이동\"><span>처음</span></a>";
+		previousPageLabel 	= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"prev\" title=\"이전페이지로 이동\"><span>이전</span></a>";
+		currentPageLabel 	= "<strong class=\"current\">{0}</strong>";
+		otherPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"page\" title=\"{2}페이지로 이동\">{2}</a>";
+		nextPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"next\" title=\"다음페이지로 이동\"><span>다음</span></a>";
+		lastPageLabel 		= "<a href=\"{0}&amp;subPageIndex={1}\" class=\"last\" title=\"마지막페이지로 이동\"><span>마지막</span></a>";
+	}
+}
base/src/main/java/egovframework/com/cmm/NullSerializer.java
--- base/src/main/java/egovframework/com/cmm/NullSerializer.java
+++ base/src/main/java/egovframework/com/cmm/NullSerializer.java
@@ -1,13 +1,13 @@
-package egovframework.com.cmm;
-
-import java.io.IOException;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-
-public class NullSerializer extends JsonSerializer<Object> {
-	@Override
-	public void serialize(Object o, com.fasterxml.jackson.core.JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, com.fasterxml.jackson.core.JsonProcessingException { 
-		jsonGenerator.writeString("");
-
-	}
-}
+package egovframework.com.cmm;
+
+import java.io.IOException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+public class NullSerializer extends JsonSerializer<Object> {
+	@Override
+	public void serialize(Object o, com.fasterxml.jackson.core.JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, com.fasterxml.jackson.core.JsonProcessingException { 
+		jsonGenerator.writeString("");
+
+	}
+}
base/src/main/java/egovframework/com/cmm/SecretImagePaginationRenderer.java
--- base/src/main/java/egovframework/com/cmm/SecretImagePaginationRenderer.java
+++ base/src/main/java/egovframework/com/cmm/SecretImagePaginationRenderer.java
@@ -1,15 +1,15 @@
-package egovframework.com.cmm;
-
-import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
-
-public class SecretImagePaginationRenderer extends AbstractPaginationRenderer {
-	
-	public SecretImagePaginationRenderer() {
-		firstPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"처음페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_first.gif\" alt=\"처음\"/></a></span>";
-		previousPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"이전페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_prew.gif\" alt=\"이전\"/></a></span>";
-		currentPageLabel = "<span><strong>{0}</strong></span>";
-		otherPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"{2}페이지로이동\">{2}</a></span>";
-		nextPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"다음페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_next.gif\" alt=\"다음\"/></a></span>";
-		lastPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"마지막페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_last.gif\" alt=\"마지막\"/></a></span>";
-	}
-}
+package egovframework.com.cmm;
+
+import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
+
+public class SecretImagePaginationRenderer extends AbstractPaginationRenderer {
+	
+	public SecretImagePaginationRenderer() {
+		firstPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"처음페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_first.gif\" alt=\"처음\"/></a></span>";
+		previousPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"이전페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_prew.gif\" alt=\"이전\"/></a></span>";
+		currentPageLabel = "<span><strong>{0}</strong></span>";
+		otherPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"{2}페이지로이동\">{2}</a></span>";
+		nextPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"다음페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_next.gif\" alt=\"다음\"/></a></span>";
+		lastPageLabel = "<span><a href=\"{0}&amp;pageIndex={1}\" title=\"마지막페이지로이동\"><img src=\"/template/web/secret_001/image/customer/btn_last.gif\" alt=\"마지막\"/></a></span>";
+	}
+}
base/src/main/java/egovframework/com/cmm/SmartImagePaginationRenderer.java
--- base/src/main/java/egovframework/com/cmm/SmartImagePaginationRenderer.java
+++ base/src/main/java/egovframework/com/cmm/SmartImagePaginationRenderer.java
@@ -1,15 +1,15 @@
-package egovframework.com.cmm;
-
-import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
-
-public class SmartImagePaginationRenderer extends AbstractPaginationRenderer {
-	
-	public SmartImagePaginationRenderer() {
-		firstPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"처음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_first.gif\" alt=\"처음\"/></a>";
-		previousPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"이전페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_prew.gif\" alt=\"이전\"/></a>";
-		currentPageLabel = "<a class=\"commthis\">{0}</a>";
-		otherPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"{2}페이지로이동\">{2}</a>";
-		nextPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"다음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_next.gif\" alt=\"다음\"/></a>";
-		lastPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"마지막페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_last.gif\" alt=\"마지막\"/></a>";
-	}
-}
+package egovframework.com.cmm;
+
+import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
+
+public class SmartImagePaginationRenderer extends AbstractPaginationRenderer {
+	
+	public SmartImagePaginationRenderer() {
+		firstPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"처음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_first.gif\" alt=\"처음\"/></a>";
+		previousPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"이전페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_prew.gif\" alt=\"이전\"/></a>";
+		currentPageLabel = "<a class=\"commthis\">{0}</a>";
+		otherPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"{2}페이지로이동\">{2}</a>";
+		nextPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"다음페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_next.gif\" alt=\"다음\"/></a>";
+		lastPageLabel = "<a href=\"{0}&amp;pageIndex={1}\" title=\"마지막페이지로이동\"><img src=\"/template/web/smart_001/image/sub/board/btn_last.gif\" alt=\"마지막\"/></a>";
+	}
+}
base/src/main/java/egovframework/com/cmm/SmartSchoolPaginationRenderer.java
--- base/src/main/java/egovframework/com/cmm/SmartSchoolPaginationRenderer.java
+++ base/src/main/java/egovframework/com/cmm/SmartSchoolPaginationRenderer.java
@@ -1,25 +1,25 @@
-package egovframework.com.cmm;
-
-import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
-
-public class SmartSchoolPaginationRenderer  extends AbstractPaginationRenderer {
-	
-	public SmartSchoolPaginationRenderer() {
-		/*
-		firstPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"first\" title=\"처음페이지로 이동\"><span>처음</span></a>";
-		previousPageLabel 	= "<a href=\"{0}&amp;pageIndex={1}\" class=\"prev\" title=\"이전페이지로 이동\"><span>이전</span></a>";
-		currentPageLabel 	= "<strong class=\"current\">{0}</strong>";
-		otherPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"page\" title=\"{2}페이지로 이동\">{2}</a>";
-		nextPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"next\" title=\"다음페이지로 이동\"><span>다음</span></a>";
-		lastPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"last\" title=\"마지막페이지로 이동\"><span>마지막</span></a>";
-		*/
-		
-		firstPageLabel 		= "";
-		previousPageLabel 	= "";
-		currentPageLabel 	= "<li class=\"page-num active\"><a href='#'>{0}</a></li>";
-		otherPageLabel 		= "<li class='page-num'><a href=\"{0}&amp;pageIndex={1}\" title=\"{2}페이지로 이동\">{2}</a></li>";
-		nextPageLabel 		= "";
-		lastPageLabel 		= "";
-		
-	}
-}
+package egovframework.com.cmm;
+
+import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
+
+public class SmartSchoolPaginationRenderer  extends AbstractPaginationRenderer {
+	
+	public SmartSchoolPaginationRenderer() {
+		/*
+		firstPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"first\" title=\"처음페이지로 이동\"><span>처음</span></a>";
+		previousPageLabel 	= "<a href=\"{0}&amp;pageIndex={1}\" class=\"prev\" title=\"이전페이지로 이동\"><span>이전</span></a>";
+		currentPageLabel 	= "<strong class=\"current\">{0}</strong>";
+		otherPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"page\" title=\"{2}페이지로 이동\">{2}</a>";
+		nextPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"next\" title=\"다음페이지로 이동\"><span>다음</span></a>";
+		lastPageLabel 		= "<a href=\"{0}&amp;pageIndex={1}\" class=\"last\" title=\"마지막페이지로 이동\"><span>마지막</span></a>";
+		*/
+		
+		firstPageLabel 		= "";
+		previousPageLabel 	= "";
+		currentPageLabel 	= "<li class=\"page-num active\"><a href='#'>{0}</a></li>";
+		otherPageLabel 		= "<li class='page-num'><a href=\"{0}&amp;pageIndex={1}\" title=\"{2}페이지로 이동\">{2}</a></li>";
+		nextPageLabel 		= "";
+		lastPageLabel 		= "";
+		
+	}
+}
base/src/main/java/egovframework/com/cmm/service/AjaxXmlView.java
--- base/src/main/java/egovframework/com/cmm/service/AjaxXmlView.java
+++ base/src/main/java/egovframework/com/cmm/service/AjaxXmlView.java
@@ -1,24 +1,24 @@
-package egovframework.com.cmm.service;
- 
-import java.io.PrintWriter;
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.web.servlet.view.AbstractView;
- 
-public class AjaxXmlView extends AbstractView {
- 
-	@Override
-	protected void renderMergedOutputModel(Map model,
-			HttpServletRequest request, HttpServletResponse response)
-			throws Exception {
- 
-		response.setContentType("text/xml");
-		response.setHeader("Cache-Control", "no-cache");
-		response.setCharacterEncoding("UTF-8");
- 
-		PrintWriter writer = response.getWriter();
-		writer.write((String) model.get("ajaxXml"));  //Model Attribute 이름은 공통으로 사용하는 것으로...
-		writer.close();
-	}
+package egovframework.com.cmm.service;
+ 
+import java.io.PrintWriter;
+import java.util.Map;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.web.servlet.view.AbstractView;
+ 
+public class AjaxXmlView extends AbstractView {
+ 
+	@Override
+	protected void renderMergedOutputModel(Map model,
+			HttpServletRequest request, HttpServletResponse response)
+			throws Exception {
+ 
+		response.setContentType("text/xml");
+		response.setHeader("Cache-Control", "no-cache");
+		response.setCharacterEncoding("UTF-8");
+ 
+		PrintWriter writer = response.getWriter();
+		writer.write((String) model.get("ajaxXml"));  //Model Attribute 이름은 공통으로 사용하는 것으로...
+		writer.close();
+	}
 }
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/com/cmm/service/EgovProperties.java
--- base/src/main/java/egovframework/com/cmm/service/EgovProperties.java
+++ base/src/main/java/egovframework/com/cmm/service/EgovProperties.java
@@ -1,203 +1,203 @@
-package egovframework.com.cmm.service;
-
-import java.io.*;
-import java.util.*;
-import egovframework.com.cmm.util.EgovBasicLogger;
-import egovframework.com.cmm.util.EgovWebUtil;
-
-//문자열 정보 기준으로 사용할 전역변수를 시스템 재시작으로 반영할 수 있도록 한다.
-public class EgovProperties{
-	
-	//프로퍼티값 로드시 에러발생하면 반환되는 에러문자열 
-	public static final String ERR_CODE =" EXCEPTION OCCURRED";
-	public static final String ERR_CODE_FNFE =" EXCEPTION(FNFE) OCCURRED";
-	public static final String ERR_CODE_IOE =" EXCEPTION(IOE) OCCURRED";
-	
-	//파일구분자
-    static final char FILE_SEPARATOR     = File.separatorChar;
-
-	//프로퍼티 파일의 물리적 위치
-    //public static final String GLOBALS_PROPERTIES_FILE 
-    //= System.getProperty("user.home") + System.getProperty("file.separator") + "egovProps"
-    //+ System.getProperty("file.separator") + "globals.properties";
-
-  //프로퍼티 파일의 물리적 위치
-    public static final String GLOBALS_PROPERTIES_FILE_EX 
-    = "egovframework" + System.getProperty("file.separator") + "egovProps" + System.getProperty("file.separator") + "globals.properties";
-    
-	/**
-	 * 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다(Globals.java 전용)
-	 * @param keyName String
-	 * @return String
-	 */
-    public static String getProperty(String keyName){
-		String value = ERR_CODE;
-		value="99";
-		//debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
-		InputStream fis = null;
-		BufferedInputStream bis = null;
-		try{
-			Class c = Class.forName("egovframework.com.cmm.service.Globals");
-			ClassLoader cl = c.getClassLoader();
-			
-			fis = cl.getResourceAsStream(GLOBALS_PROPERTIES_FILE_EX);
-			
-			
-			bis = new java.io.BufferedInputStream(fis);
-			Properties props = new Properties();
-			props.load(bis);
-			value = props.getProperty(keyName).trim();
-			
-		}catch(FileNotFoundException fne){
-			debug(fne);
-		}catch(IOException ioe){
-			debug(ioe);
-		}catch(Exception e){
-			debug(e);
-		}finally{
-			try {
-				if (bis != null) bis.close();
-			} catch (IOException ex) {
-				debug(ex);
-			}
-			try {
-				if (fis != null) fis.close();
-			} catch (IOException ex) {
-				debug(ex);
-			}
-			
-		}
-		return value;
-	}
-    /*
-	public static String getProperty(String keyName){
-		String value = ERR_CODE;
-		value="99";
-		debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
-		FileInputStream fis = null;
-		try{
-			Properties props = new Properties();
-			fis  = new FileInputStream(GLOBALS_PROPERTIES_FILE);
-			props.load(new java.io.BufferedInputStream(fis));
-			value = props.getProperty(keyName).trim();
-		}catch(FileNotFoundException fne){
-			debug(fne);
-		}catch(IOException ioe){
-			debug(ioe);
-		}catch(Exception e){
-			debug(e);
-		}finally{
-			try {
-				if (fis != null) fis.close();
-			} catch (Exception ex) {
-				ex.printStackTrace();
-			}
-			
-		}
-		return value;
-	}*/
-	
-	/**
-	 * 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다
-	 * @param fileName String
-	 * @param key String
-	 * @return String
-	 */
-	public static String getProperty(String fileName, String key){
-		FileInputStream fis = null;
-		BufferedInputStream bis = null;
-		try{
-			java.util.Properties props = new java.util.Properties();
-			fis  = new FileInputStream(EgovWebUtil.filePathBlackList(fileName));
-			bis = new java.io.BufferedInputStream(fis);
-			props.load(bis);
-
-			String value = props.getProperty(key);
-			return value;
-		}catch(java.io.FileNotFoundException fne){
-			return ERR_CODE_FNFE;
-		}catch(java.io.IOException ioe){
-			return ERR_CODE_IOE;
-		}catch(Exception e){
-			return ERR_CODE;
-		}finally{
-			try {
-				if (bis != null) bis.close();
-			} catch (IOException ex) {
-				debug(ex);
-			}
-			try {
-				if (fis != null) fis.close();
-			} catch (IOException ex) {
-				debug(ex);
-			}
-		}
-	}
-	
-	/**
-	 * 주어진 프로파일의 내용을 파싱하여 (key-value) 형태의 구조체 배열을 반환한다.
-	 * @param property String
-	 * @return ArrayList
-	 */
-	public static ArrayList loadPropertyFile(String property){
-
-		// key - value 형태로 된 배열 결과
-		ArrayList keyList = new ArrayList();
-		
-		String src = property.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
-		FileInputStream fis = null;
-		BufferedInputStream bis = null;
-		try
-		{   
-			
-			File srcFile = new File(EgovWebUtil.filePathBlackList(src));
-			if (srcFile.exists()) {
-				
-				java.util.Properties props = new java.util.Properties();
-				fis  = new FileInputStream(src);
-				bis = new java.io.BufferedInputStream(fis);
-				props.load(bis);
-				
-				//int i = 0;
-				Enumeration plist = props.propertyNames();
-				if (plist != null) {
-					while (plist.hasMoreElements()) {
-						Map map = new HashMap();
-						String key = (String)plist.nextElement();
-						map.put(key, props.getProperty(key));
-						keyList.add(map);
-					}
-				}
-			}
-		}catch(FileNotFoundException fne){
-			debug(fne);
-		}catch(IOException ioe){
-			debug(ioe);
-		}catch(Exception e){
-			debug(e);
-		} finally {
-			try {
-				if (bis != null) bis.close();
-			} catch (IOException ex) {
-				debug(ex);
-			}
-			try {
-				if (fis != null) fis.close();
-			} catch (IOException ex) {
-				debug(ex);
-			}
-		}
-		
-		return keyList;
-	}
-	/**
-	 * 시스템 로그를 출력한다.
-	 * @param obj Object
-	 */	
-	private static void debug(Object obj) {
-		if (obj instanceof java.lang.Exception) {
-			EgovBasicLogger.debug(((java.lang.Exception) obj).getMessage());
-		}
-	}
-}
-
+package egovframework.com.cmm.service;
+
+import java.io.*;
+import java.util.*;
+import egovframework.com.cmm.util.EgovBasicLogger;
+import egovframework.com.cmm.util.EgovWebUtil;
+
+//문자열 정보 기준으로 사용할 전역변수를 시스템 재시작으로 반영할 수 있도록 한다.
+public class EgovProperties{
+	
+	//프로퍼티값 로드시 에러발생하면 반환되는 에러문자열 
+	public static final String ERR_CODE =" EXCEPTION OCCURRED";
+	public static final String ERR_CODE_FNFE =" EXCEPTION(FNFE) OCCURRED";
+	public static final String ERR_CODE_IOE =" EXCEPTION(IOE) OCCURRED";
+	
+	//파일구분자
+    static final char FILE_SEPARATOR     = File.separatorChar;
+
+	//프로퍼티 파일의 물리적 위치
+    //public static final String GLOBALS_PROPERTIES_FILE 
+    //= System.getProperty("user.home") + System.getProperty("file.separator") + "egovProps"
+    //+ System.getProperty("file.separator") + "globals.properties";
+
+  //프로퍼티 파일의 물리적 위치
+    public static final String GLOBALS_PROPERTIES_FILE_EX 
+    = "egovframework" + System.getProperty("file.separator") + "egovProps" + System.getProperty("file.separator") + "globals.properties";
+    
+	/**
+	 * 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다(Globals.java 전용)
+	 * @param keyName String
+	 * @return String
+	 */
+    public static String getProperty(String keyName){
+		String value = ERR_CODE;
+		value="99";
+		//debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
+		InputStream fis = null;
+		BufferedInputStream bis = null;
+		try{
+			Class c = Class.forName("egovframework.com.cmm.service.Globals");
+			ClassLoader cl = c.getClassLoader();
+			
+			fis = cl.getResourceAsStream(GLOBALS_PROPERTIES_FILE_EX);
+			
+			
+			bis = new java.io.BufferedInputStream(fis);
+			Properties props = new Properties();
+			props.load(bis);
+			value = props.getProperty(keyName).trim();
+			
+		}catch(FileNotFoundException fne){
+			debug(fne);
+		}catch(IOException ioe){
+			debug(ioe);
+		}catch(Exception e){
+			debug(e);
+		}finally{
+			try {
+				if (bis != null) bis.close();
+			} catch (IOException ex) {
+				debug(ex);
+			}
+			try {
+				if (fis != null) fis.close();
+			} catch (IOException ex) {
+				debug(ex);
+			}
+			
+		}
+		return value;
+	}
+    /*
+	public static String getProperty(String keyName){
+		String value = ERR_CODE;
+		value="99";
+		debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
+		FileInputStream fis = null;
+		try{
+			Properties props = new Properties();
+			fis  = new FileInputStream(GLOBALS_PROPERTIES_FILE);
+			props.load(new java.io.BufferedInputStream(fis));
+			value = props.getProperty(keyName).trim();
+		}catch(FileNotFoundException fne){
+			debug(fne);
+		}catch(IOException ioe){
+			debug(ioe);
+		}catch(Exception e){
+			debug(e);
+		}finally{
+			try {
+				if (fis != null) fis.close();
+			} catch (Exception ex) {
+				ex.printStackTrace();
+			}
+			
+		}
+		return value;
+	}*/
+	
+	/**
+	 * 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다
+	 * @param fileName String
+	 * @param key String
+	 * @return String
+	 */
+	public static String getProperty(String fileName, String key){
+		FileInputStream fis = null;
+		BufferedInputStream bis = null;
+		try{
+			java.util.Properties props = new java.util.Properties();
+			fis  = new FileInputStream(EgovWebUtil.filePathBlackList(fileName));
+			bis = new java.io.BufferedInputStream(fis);
+			props.load(bis);
+
+			String value = props.getProperty(key);
+			return value;
+		}catch(java.io.FileNotFoundException fne){
+			return ERR_CODE_FNFE;
+		}catch(java.io.IOException ioe){
+			return ERR_CODE_IOE;
+		}catch(Exception e){
+			return ERR_CODE;
+		}finally{
+			try {
+				if (bis != null) bis.close();
+			} catch (IOException ex) {
+				debug(ex);
+			}
+			try {
+				if (fis != null) fis.close();
+			} catch (IOException ex) {
+				debug(ex);
+			}
+		}
+	}
+	
+	/**
+	 * 주어진 프로파일의 내용을 파싱하여 (key-value) 형태의 구조체 배열을 반환한다.
+	 * @param property String
+	 * @return ArrayList
+	 */
+	public static ArrayList loadPropertyFile(String property){
+
+		// key - value 형태로 된 배열 결과
+		ArrayList keyList = new ArrayList();
+		
+		String src = property.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
+		FileInputStream fis = null;
+		BufferedInputStream bis = null;
+		try
+		{   
+			
+			File srcFile = new File(EgovWebUtil.filePathBlackList(src));
+			if (srcFile.exists()) {
+				
+				java.util.Properties props = new java.util.Properties();
+				fis  = new FileInputStream(src);
+				bis = new java.io.BufferedInputStream(fis);
+				props.load(bis);
+				
+				//int i = 0;
+				Enumeration plist = props.propertyNames();
+				if (plist != null) {
+					while (plist.hasMoreElements()) {
+						Map map = new HashMap();
+						String key = (String)plist.nextElement();
+						map.put(key, props.getProperty(key));
+						keyList.add(map);
+					}
+				}
+			}
+		}catch(FileNotFoundException fne){
+			debug(fne);
+		}catch(IOException ioe){
+			debug(ioe);
+		}catch(Exception e){
+			debug(e);
+		} finally {
+			try {
+				if (bis != null) bis.close();
+			} catch (IOException ex) {
+				debug(ex);
+			}
+			try {
+				if (fis != null) fis.close();
+			} catch (IOException ex) {
+				debug(ex);
+			}
+		}
+		
+		return keyList;
+	}
+	/**
+	 * 시스템 로그를 출력한다.
+	 * @param obj Object
+	 */	
+	private static void debug(Object obj) {
+		if (obj instanceof java.lang.Exception) {
+			EgovBasicLogger.debug(((java.lang.Exception) obj).getMessage());
+		}
+	}
+}
+
base/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java
--- base/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java
+++ base/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java
@@ -1,26 +1,26 @@
-package egovframework.com.cmm.service;
-
-import java.util.List;
-
-public interface EgovUserDetailsService {
-
-	/**
-	 * 인증된 사용자객체를 VO형식으로 가져온다.
-	 * @return Object - 사용자 ValueObject
-	 */
-	public Object getAuthenticatedUser();
-
-	/**
-	 * 인증된 사용자의 권한 정보를 가져온다.
-	 * 예) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
-	 * @return List - 사용자 권한정보 목록
-	 */
-	public List<String> getAuthorities();
-	
-	/**
-	 * 인증된 사용자 여부를 체크한다.
-	 * @return Boolean - 인증된 사용자 여부(TRUE / FALSE)	
-	 */
-	public Boolean isAuthenticated(); 
-
-}
+package egovframework.com.cmm.service;
+
+import java.util.List;
+
+public interface EgovUserDetailsService {
+
+	/**
+	 * 인증된 사용자객체를 VO형식으로 가져온다.
+	 * @return Object - 사용자 ValueObject
+	 */
+	public Object getAuthenticatedUser();
+
+	/**
+	 * 인증된 사용자의 권한 정보를 가져온다.
+	 * 예) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
+	 * @return List - 사용자 권한정보 목록
+	 */
+	public List<String> getAuthorities();
+	
+	/**
+	 * 인증된 사용자 여부를 체크한다.
+	 * @return Boolean - 인증된 사용자 여부(TRUE / FALSE)	
+	 */
+	public Boolean isAuthenticated(); 
+
+}
base/src/main/java/egovframework/com/cmm/service/ExcelDownloadView.java
--- base/src/main/java/egovframework/com/cmm/service/ExcelDownloadView.java
+++ base/src/main/java/egovframework/com/cmm/service/ExcelDownloadView.java
@@ -1,98 +1,98 @@
-package egovframework.com.cmm.service;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFCellStyle;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
-import org.springframework.web.servlet.view.document.AbstractExcelView;
-
-
-public class ExcelDownloadView extends AbstractExcelView {
-	@Override
-	@SuppressWarnings("unchecked")
-	protected void buildExcelDocument(Map model, HSSFWorkbook wb,
-			HttpServletRequest req, HttpServletResponse resp) throws Exception {
-		
-		Map<String, Object> dataMap = (Map<String, Object>)model.get("dataMap");
-		
-		String title = (String)dataMap.get("title");
-		List<String> columMap= (List<String>)dataMap.get("columMap");
-		List<Object> valueMap= (List<Object>)dataMap.get("valueMap");
-		
-		HSSFCell cell = null;
-		HSSFCellStyle style = this.getHSSFCellStyleByHeader(wb);
- 
-		HSSFSheet sheet = wb.createSheet(title);
-		//sheet.setDefaultColumnWidth((short) 12);
-
-		// put text in first cell
-		/*
-		if(!EgovStringUtil.isEmpty(title)) {
-			
-			cell = getCell(sheet, 0, 0);
-			cell.setCellStyle(style);
-			setText(cell, title);
-		}
-		*/
- 
-		if(columMap != null && columMap.size() > 0) {
-			// set header information
-			for(int i = 0; i < columMap.size(); i++) {
-				
-				sheet.setColumnWidth(i, 500 * 8);
-				
-				cell = getCell(sheet, 2, i);
-				cell.setCellStyle(style);
-				setText(cell, columMap.get(i));
-			}
-			
-			Object obj = null;
-			for (int i = 0; i < valueMap.size(); i++) {
-	 
-					Map<String, Object> data = (Map<String, Object>) valueMap.get(i);
-	
-					for(int di = 0; di < columMap.size(); di++) {
-						obj = data.get(columMap.get(di));
-						cell = getCell(sheet, 3 + i, di);
-						if(obj instanceof String) {
-							setText(cell, (String)obj);
-						} else if(obj instanceof Integer || obj instanceof Long  || obj instanceof Double || obj instanceof BigDecimal || obj instanceof Float) {
-							cell.setCellValue(Double.valueOf(String.valueOf(obj)));
-						} else if(obj instanceof Long) {
-							setText(cell, (String)obj);
-						}
-					}
-			}
-		}
-	}
-	
-	private HSSFCellStyle getHSSFCellStyleByHeader(HSSFWorkbook wb) {
-		HSSFCellStyle style = wb.createCellStyle();
-		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
-		style.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
-		//style.setFillPattern(HSSFCellStyle.NO_FILL);
-		
-		style.setBorderTop(HSSFCellStyle.BORDER_THIN);
-		style.setTopBorderColor(HSSFColor.BLACK.index);
-		
-		style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-		style.setBottomBorderColor(HSSFColor.BLACK.index);
-		
-		style.setBorderRight(HSSFCellStyle.BORDER_THIN);
-		style.setRightBorderColor(HSSFColor.BLACK.index);
-		
-		style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-		style.setLeftBorderColor(HSSFColor.BLACK.index);
-		return style;
-	}
-	
-	
-}
+package egovframework.com.cmm.service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.hssf.util.HSSFColor;
+import egovframework.com.cmm.view.AbstractPoiExcelView;
+
+
+public class ExcelDownloadView extends AbstractPoiExcelView {
+	@Override
+	@SuppressWarnings("unchecked")
+	protected void buildExcelDocument(Map model, HSSFWorkbook wb,
+			HttpServletRequest req, HttpServletResponse resp) throws Exception {
+		
+		Map<String, Object> dataMap = (Map<String, Object>)model.get("dataMap");
+		
+		String title = (String)dataMap.get("title");
+		List<String> columMap= (List<String>)dataMap.get("columMap");
+		List<Object> valueMap= (List<Object>)dataMap.get("valueMap");
+		
+		HSSFCell cell = null;
+		HSSFCellStyle style = this.getHSSFCellStyleByHeader(wb);
+ 
+		HSSFSheet sheet = wb.createSheet(title);
+		//sheet.setDefaultColumnWidth((short) 12);
+
+		// put text in first cell
+		/*
+		if(!EgovStringUtil.isEmpty(title)) {
+			
+			cell = getCell(sheet, 0, 0);
+			cell.setCellStyle(style);
+			setText(cell, title);
+		}
+		*/
+ 
+		if(columMap != null && columMap.size() > 0) {
+			// set header information
+			for(int i = 0; i < columMap.size(); i++) {
+				
+				sheet.setColumnWidth(i, 500 * 8);
+				
+				cell = getCell(sheet, 2, i);
+				cell.setCellStyle(style);
+				setText(cell, columMap.get(i));
+			}
+			
+			Object obj = null;
+			for (int i = 0; i < valueMap.size(); i++) {
+	 
+					Map<String, Object> data = (Map<String, Object>) valueMap.get(i);
+	
+					for(int di = 0; di < columMap.size(); di++) {
+						obj = data.get(columMap.get(di));
+						cell = getCell(sheet, 3 + i, di);
+						if(obj instanceof String) {
+							setText(cell, (String)obj);
+						} else if(obj instanceof Integer || obj instanceof Long  || obj instanceof Double || obj instanceof BigDecimal || obj instanceof Float) {
+							cell.setCellValue(Double.valueOf(String.valueOf(obj)));
+						} else if(obj instanceof Long) {
+							setText(cell, (String)obj);
+						}
+					}
+			}
+		}
+	}
+	
+	private HSSFCellStyle getHSSFCellStyleByHeader(HSSFWorkbook wb) {
+		HSSFCellStyle style = wb.createCellStyle();
+		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+		style.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
+		//style.setFillPattern(HSSFCellStyle.NO_FILL);
+		
+		style.setBorderTop(HSSFCellStyle.BORDER_THIN);
+		style.setTopBorderColor(HSSFColor.BLACK.index);
+		
+		style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+		style.setBottomBorderColor(HSSFColor.BLACK.index);
+		
+		style.setBorderRight(HSSFCellStyle.BORDER_THIN);
+		style.setRightBorderColor(HSSFColor.BLACK.index);
+		
+		style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+		style.setLeftBorderColor(HSSFColor.BLACK.index);
+		return style;
+	}
+	
+	
+}
base/src/main/java/egovframework/com/cmm/service/FileMngService.java
--- base/src/main/java/egovframework/com/cmm/service/FileMngService.java
+++ base/src/main/java/egovframework/com/cmm/service/FileMngService.java
@@ -3,8 +3,8 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.cop.bbs.service.BoardVO;
 
base/src/main/java/egovframework/com/cmm/service/FileVO.java
--- base/src/main/java/egovframework/com/cmm/service/FileVO.java
+++ base/src/main/java/egovframework/com/cmm/service/FileVO.java
@@ -1,537 +1,537 @@
-package egovframework.com.cmm.service;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
-import egovframework.com.cmm.ComDefaultVO;
-import egovframework.module.utl.fcc.service.EgovStringUtil;
-
-//파일정보 처리를 위한 VO 클래스
-public class FileVO extends ComDefaultVO {
-
-	//생성일자
-    public java.util.Date creatDt;
-
-	//파일내용
-    public String fileCn = "";
-
-	//파일확장자
-    public String fileExtsn = "";
-
-	//파일크기
-    public String fileMg = "";
-
-	//파일연번
-    public String fileSn = "";
-
-	//파일저장경로
-    public String fileStreCours = "";
-
-	//원파일명
-    public String orignlFileNm = "";
-
-	//저장파일명
-    public String streFileNm = "";
-
-    //폼명
-    public String formNm = "";
-
-    //임시파일그룹ID
-    public String fileGroupId = "";
-
-    //임시파일ID
-    public String tmprFileId = "";
-
-    //파일갯수
-    public int fileSnCount = 0;
-
-    //프로그램ID
-    public String progrmId = "";
-
-    //확장파일여부
-    public String estnAt = "";
-
-    //총파일크기
-    public String totalFileMg = "0";
-
-    //총파일갯수
-    public String totalFileCount = "0";
-
-    //첨부파일아이디리스트
-    private List<String> atchFileIdArr;
-
-    //이전 첨부파일아이디
-    private String oldAtchFileId;
-
-    //위도
-    private String la;
-
-    //경도
-    private String lo;
-
-    //이미지 orientation
-    private Integer orientation;
-
-    private String pathKey;
-
-    private String appendPath;
-
-    private long maxMegaFileSize;
-
-    private String editorId;
-
-    //다운로드건수
-    private BigDecimal downCnt;
-
-    private String mltmdClCode;
-
-    //파일저장웹경로
-    public String fileStreWebCours = "";
-
-    private String isNoTempFile = "N";
-
-    private long maxChunkSize;
-
-    //공개여부
-    private String publicAt;
-
-    private String searchCtgryId;
-
-    private String searchFileNm;
-
-    private String searchRegisterNm;
-
-    private List<String> searchFileExtsn;
-
-    private String searchUseCnt;
-
-    private String searchScope;
-
-    private String searchPublicAt;
-
-    private String fileExtNm;
-
-    private String hostCode;
-
-    private String searchFrstRegisterId;
-
-    //이미지 확장자
-    private String fileExtImg;
-
-    //기타(파일) 확장자
-    private String fileExtOther;
-
-    //동영상 확장자
-    private String fileExtMov;
-
-    //다운로드 타입(arr:파일아이디 여러개, 나머지는 한개)
-    private String downLoadType;
-
-    private String viewType;
-
-    private String dateType;
-
-    //파일 가로 크기
-    private int fileImgWidth;
-    
-    //파일 세로 크기
-    private int fileImgHeight;
-	
-	//용량변환
-	public String getFileMgByByteConvert() {
-		return EgovStringUtil.byteConverter(fileMg);
-	}
-
-	public Date getCreatDt() {
-		return creatDt;
-	}
-
-	public void setCreatDt(Date creatDt) {
-		this.creatDt = creatDt;
-	}
-
-	public String getFileCn() {
-		return fileCn;
-	}
-
-	public void setFileCn(String fileCn) {
-		this.fileCn = fileCn;
-	}
-
-	public String getFileExtsn() {
-		return fileExtsn;
-	}
-
-	public void setFileExtsn(String fileExtsn) {
-		this.fileExtsn = fileExtsn;
-	}
-
-	public String getFileMg() {
-		return fileMg;
-	}
-
-	public void setFileMg(String fileMg) {
-		this.fileMg = fileMg;
-	}
-
-	public String getFileSn() {
-		return fileSn;
-	}
-
-	public void setFileSn(String fileSn) {
-		this.fileSn = fileSn;
-	}
-
-	public String getFileStreCours() {
-		return fileStreCours;
-	}
-
-	public void setFileStreCours(String fileStreCours) {
-		this.fileStreCours = fileStreCours;
-	}
-
-	public String getOrignlFileNm() {
-		return orignlFileNm;
-	}
-
-	public void setOrignlFileNm(String orignlFileNm) {
-		this.orignlFileNm = orignlFileNm;
-	}
-
-	public String getStreFileNm() {
-		return streFileNm;
-	}
-
-	public void setStreFileNm(String streFileNm) {
-		this.streFileNm = streFileNm;
-	}
-
-	public String getFormNm() {
-		return formNm;
-	}
-
-	public void setFormNm(String formNm) {
-		this.formNm = formNm;
-	}
-
-	public String getFileGroupId() {
-		return fileGroupId;
-	}
-
-	public void setFileGroupId(String fileGroupId) {
-		this.fileGroupId = fileGroupId;
-	}
-
-	public String getTmprFileId() {
-		return tmprFileId;
-	}
-
-	public void setTmprFileId(String tmprFileId) {
-		this.tmprFileId = tmprFileId;
-	}
-
-	public int getFileSnCount() {
-		return fileSnCount;
-	}
-
-	public void setFileSnCount(int fileSnCount) {
-		this.fileSnCount = fileSnCount;
-	}
-
-	public String getProgrmId() {
-		return progrmId;
-	}
-
-	public void setProgrmId(String progrmId) {
-		this.progrmId = progrmId;
-	}
-
-	public String getEstnAt() {
-		return estnAt;
-	}
-
-	public void setEstnAt(String estnAt) {
-		this.estnAt = estnAt;
-	}
-
-	public String getTotalFileMg() {
-		return totalFileMg;
-	}
-
-	public void setTotalFileMg(String totalFileMg) {
-		this.totalFileMg = totalFileMg;
-	}
-
-	public String getTotalFileCount() {
-		return totalFileCount;
-	}
-
-	public void setTotalFileCount(String totalFileCount) {
-		this.totalFileCount = totalFileCount;
-	}
-
-	public List<String> getAtchFileIdArr() {
-		return atchFileIdArr;
-	}
-
-	public void setAtchFileIdArr(List<String> atchFileIdArr) {
-		this.atchFileIdArr = atchFileIdArr;
-	}
-
-	public String getOldAtchFileId() {
-		return oldAtchFileId;
-	}
-
-	public void setOldAtchFileId(String oldAtchFileId) {
-		this.oldAtchFileId = oldAtchFileId;
-	}
-
-	public String getLa() {
-		return la;
-	}
-
-	public void setLa(String la) {
-		this.la = la;
-	}
-
-	public String getLo() {
-		return lo;
-	}
-
-	public void setLo(String lo) {
-		this.lo = lo;
-	}
-
-	public Integer getOrientation() {
-		return orientation;
-	}
-
-	public void setOrientation(Integer orientation) {
-		this.orientation = orientation;
-	}
-
-	public String getPathKey() {
-		return pathKey;
-	}
-
-	public void setPathKey(String pathKey) {
-		this.pathKey = pathKey;
-	}
-
-	public String getAppendPath() {
-		return appendPath;
-	}
-
-	public void setAppendPath(String appendPath) {
-		this.appendPath = appendPath;
-	}
-
-	public long getMaxMegaFileSize() {
-		return maxMegaFileSize;
-	}
-
-	public void setMaxMegaFileSize(long maxMegaFileSize) {
-		this.maxMegaFileSize = maxMegaFileSize;
-	}
-
-	public String getEditorId() {
-		return editorId;
-	}
-
-	public void setEditorId(String editorId) {
-		this.editorId = editorId;
-	}
-
-	public BigDecimal getDownCnt() {
-		return downCnt;
-	}
-
-	public void setDownCnt(BigDecimal downCnt) {
-		this.downCnt = downCnt;
-	}
-
-	public String getMltmdClCode() {
-		return mltmdClCode;
-	}
-
-	public void setMltmdClCode(String mltmdClCode) {
-		this.mltmdClCode = mltmdClCode;
-	}
-
-	public String getFileStreWebCours() {
-		return fileStreWebCours;
-	}
-
-	public void setFileStreWebCours(String fileStreWebCours) {
-		this.fileStreWebCours = fileStreWebCours;
-	}
-
-	public String getIsNoTempFile() {
-		return isNoTempFile;
-	}
-
-	public void setIsNoTempFile(String isNoTempFile) {
-		this.isNoTempFile = isNoTempFile;
-	}
-
-	public long getMaxChunkSize() {
-		return maxChunkSize;
-	}
-
-	public void setMaxChunkSize(long maxChunkSize) {
-		this.maxChunkSize = maxChunkSize;
-	}
-
-	public String getPublicAt() {
-		return publicAt;
-	}
-
-	public void setPublicAt(String publicAt) {
-		this.publicAt = publicAt;
-	}
-
-	public String getSearchCtgryId() {
-		return searchCtgryId;
-	}
-
-	public void setSearchCtgryId(String searchCtgryId) {
-		this.searchCtgryId = searchCtgryId;
-	}
-
-	public String getSearchFileNm() {
-		return searchFileNm;
-	}
-
-	public void setSearchFileNm(String searchFileNm) {
-		this.searchFileNm = searchFileNm;
-	}
-
-	public String getSearchRegisterNm() {
-		return searchRegisterNm;
-	}
-
-	public void setSearchRegisterNm(String searchRegisterNm) {
-		this.searchRegisterNm = searchRegisterNm;
-	}
-
-	public List<String> getSearchFileExtsn() {
-		return searchFileExtsn;
-	}
-
-	public void setSearchFileExtsn(List<String> searchFileExtsn) {
-		this.searchFileExtsn = searchFileExtsn;
-	}
-
-	public String getSearchUseCnt() {
-		return searchUseCnt;
-	}
-
-	public void setSearchUseCnt(String searchUseCnt) {
-		this.searchUseCnt = searchUseCnt;
-	}
-
-	public String getSearchScope() {
-		return searchScope;
-	}
-
-	public void setSearchScope(String searchScope) {
-		this.searchScope = searchScope;
-	}
-
-	public String getSearchPublicAt() {
-		return searchPublicAt;
-	}
-
-	public void setSearchPublicAt(String searchPublicAt) {
-		this.searchPublicAt = searchPublicAt;
-	}
-
-	public String getFileExtNm() {
-		return fileExtNm;
-	}
-
-	public void setFileExtNm(String fileExtNm) {
-		this.fileExtNm = fileExtNm;
-	}
-
-	public String getHostCode() {
-		return hostCode;
-	}
-
-	public void setHostCode(String hostCode) {
-		this.hostCode = hostCode;
-	}
-
-	public String getSearchFrstRegisterId() {
-		return searchFrstRegisterId;
-	}
-
-	public void setSearchFrstRegisterId(String searchFrstRegisterId) {
-		this.searchFrstRegisterId = searchFrstRegisterId;
-	}
-
-	public String getFileExtImg() {
-		return fileExtImg;
-	}
-
-	public void setFileExtImg(String fileExtImg) {
-		this.fileExtImg = fileExtImg;
-	}
-
-	public String getFileExtOther() {
-		return fileExtOther;
-	}
-
-	public void setFileExtOther(String fileExtOther) {
-		this.fileExtOther = fileExtOther;
-	}
-
-	public String getFileExtMov() {
-		return fileExtMov;
-	}
-
-	public void setFileExtMov(String fileExtMov) {
-		this.fileExtMov = fileExtMov;
-	}
-
-	public String getDownLoadType() {
-		return downLoadType;
-	}
-
-	public void setDownLoadType(String downLoadType) {
-		this.downLoadType = downLoadType;
-	}
-
-	public String getViewType() {
-		return viewType;
-	}
-
-	public void setViewType(String viewType) {
-		this.viewType = viewType;
-	}
-
-	public String getDateType() {
-		return dateType;
-	}
-
-	public void setDateType(String dateType) {
-		this.dateType = dateType;
-	}
-
-	public int getFileImgWidth() {
-		return fileImgWidth;
-	}
-
-	public void setFileImgWidth(int fileImgWidth) {
-		this.fileImgWidth = fileImgWidth;
-	}
-
-	public int getFileImgHeight() {
-		return fileImgHeight;
-	}
-
-	public void setFileImgHeight(int fileImgHeight) {
-		this.fileImgHeight = fileImgHeight;
-	}
-}
+package egovframework.com.cmm.service;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import egovframework.com.cmm.ComDefaultVO;
+import egovframework.module.utl.fcc.service.EgovStringUtil;
+
+//파일정보 처리를 위한 VO 클래스
+public class FileVO extends ComDefaultVO {
+
+	//생성일자
+    public java.util.Date creatDt;
+
+	//파일내용
+    public String fileCn = "";
+
+	//파일확장자
+    public String fileExtsn = "";
+
+	//파일크기
+    public String fileMg = "";
+
+	//파일연번
+    public String fileSn = "";
+
+	//파일저장경로
+    public String fileStreCours = "";
+
+	//원파일명
+    public String orignlFileNm = "";
+
+	//저장파일명
+    public String streFileNm = "";
+
+    //폼명
+    public String formNm = "";
+
+    //임시파일그룹ID
+    public String fileGroupId = "";
+
+    //임시파일ID
+    public String tmprFileId = "";
+
+    //파일갯수
+    public int fileSnCount = 0;
+
+    //프로그램ID
+    public String progrmId = "";
+
+    //확장파일여부
+    public String estnAt = "";
+
+    //총파일크기
+    public String totalFileMg = "0";
+
+    //총파일갯수
+    public String totalFileCount = "0";
+
+    //첨부파일아이디리스트
+    private List<String> atchFileIdArr;
+
+    //이전 첨부파일아이디
+    private String oldAtchFileId;
+
+    //위도
+    private String la;
+
+    //경도
+    private String lo;
+
+    //이미지 orientation
+    private Integer orientation;
+
+    private String pathKey;
+
+    private String appendPath;
+
+    private long maxMegaFileSize;
+
+    private String editorId;
+
+    //다운로드건수
+    private BigDecimal downCnt;
+
+    private String mltmdClCode;
+
+    //파일저장웹경로
+    public String fileStreWebCours = "";
+
+    private String isNoTempFile = "N";
+
+    private long maxChunkSize;
+
+    //공개여부
+    private String publicAt;
+
+    private String searchCtgryId;
+
+    private String searchFileNm;
+
+    private String searchRegisterNm;
+
+    private List<String> searchFileExtsn;
+
+    private String searchUseCnt;
+
+    private String searchScope;
+
+    private String searchPublicAt;
+
+    private String fileExtNm;
+
+    private String hostCode;
+
+    private String searchFrstRegisterId;
+
+    //이미지 확장자
+    private String fileExtImg;
+
+    //기타(파일) 확장자
+    private String fileExtOther;
+
+    //동영상 확장자
+    private String fileExtMov;
+
+    //다운로드 타입(arr:파일아이디 여러개, 나머지는 한개)
+    private String downLoadType;
+
+    private String viewType;
+
+    private String dateType;
+
+    //파일 가로 크기
+    private int fileImgWidth;
+    
+    //파일 세로 크기
+    private int fileImgHeight;
+	
+	//용량변환
+	public String getFileMgByByteConvert() {
+		return EgovStringUtil.byteConverter(fileMg);
+	}
+
+	public Date getCreatDt() {
+		return creatDt;
+	}
+
+	public void setCreatDt(Date creatDt) {
+		this.creatDt = creatDt;
+	}
+
+	public String getFileCn() {
+		return fileCn;
+	}
+
+	public void setFileCn(String fileCn) {
+		this.fileCn = fileCn;
+	}
+
+	public String getFileExtsn() {
+		return fileExtsn;
+	}
+
+	public void setFileExtsn(String fileExtsn) {
+		this.fileExtsn = fileExtsn;
+	}
+
+	public String getFileMg() {
+		return fileMg;
+	}
+
+	public void setFileMg(String fileMg) {
+		this.fileMg = fileMg;
+	}
+
+	public String getFileSn() {
+		return fileSn;
+	}
+
+	public void setFileSn(String fileSn) {
+		this.fileSn = fileSn;
+	}
+
+	public String getFileStreCours() {
+		return fileStreCours;
+	}
+
+	public void setFileStreCours(String fileStreCours) {
+		this.fileStreCours = fileStreCours;
+	}
+
+	public String getOrignlFileNm() {
+		return orignlFileNm;
+	}
+
+	public void setOrignlFileNm(String orignlFileNm) {
+		this.orignlFileNm = orignlFileNm;
+	}
+
+	public String getStreFileNm() {
+		return streFileNm;
+	}
+
+	public void setStreFileNm(String streFileNm) {
+		this.streFileNm = streFileNm;
+	}
+
+	public String getFormNm() {
+		return formNm;
+	}
+
+	public void setFormNm(String formNm) {
+		this.formNm = formNm;
+	}
+
+	public String getFileGroupId() {
+		return fileGroupId;
+	}
+
+	public void setFileGroupId(String fileGroupId) {
+		this.fileGroupId = fileGroupId;
+	}
+
+	public String getTmprFileId() {
+		return tmprFileId;
+	}
+
+	public void setTmprFileId(String tmprFileId) {
+		this.tmprFileId = tmprFileId;
+	}
+
+	public int getFileSnCount() {
+		return fileSnCount;
+	}
+
+	public void setFileSnCount(int fileSnCount) {
+		this.fileSnCount = fileSnCount;
+	}
+
+	public String getProgrmId() {
+		return progrmId;
+	}
+
+	public void setProgrmId(String progrmId) {
+		this.progrmId = progrmId;
+	}
+
+	public String getEstnAt() {
+		return estnAt;
+	}
+
+	public void setEstnAt(String estnAt) {
+		this.estnAt = estnAt;
+	}
+
+	public String getTotalFileMg() {
+		return totalFileMg;
+	}
+
+	public void setTotalFileMg(String totalFileMg) {
+		this.totalFileMg = totalFileMg;
+	}
+
+	public String getTotalFileCount() {
+		return totalFileCount;
+	}
+
+	public void setTotalFileCount(String totalFileCount) {
+		this.totalFileCount = totalFileCount;
+	}
+
+	public List<String> getAtchFileIdArr() {
+		return atchFileIdArr;
+	}
+
+	public void setAtchFileIdArr(List<String> atchFileIdArr) {
+		this.atchFileIdArr = atchFileIdArr;
+	}
+
+	public String getOldAtchFileId() {
+		return oldAtchFileId;
+	}
+
+	public void setOldAtchFileId(String oldAtchFileId) {
+		this.oldAtchFileId = oldAtchFileId;
+	}
+
+	public String getLa() {
+		return la;
+	}
+
+	public void setLa(String la) {
+		this.la = la;
+	}
+
+	public String getLo() {
+		return lo;
+	}
+
+	public void setLo(String lo) {
+		this.lo = lo;
+	}
+
+	public Integer getOrientation() {
+		return orientation;
+	}
+
+	public void setOrientation(Integer orientation) {
+		this.orientation = orientation;
+	}
+
+	public String getPathKey() {
+		return pathKey;
+	}
+
+	public void setPathKey(String pathKey) {
+		this.pathKey = pathKey;
+	}
+
+	public String getAppendPath() {
+		return appendPath;
+	}
+
+	public void setAppendPath(String appendPath) {
+		this.appendPath = appendPath;
+	}
+
+	public long getMaxMegaFileSize() {
+		return maxMegaFileSize;
+	}
+
+	public void setMaxMegaFileSize(long maxMegaFileSize) {
+		this.maxMegaFileSize = maxMegaFileSize;
+	}
+
+	public String getEditorId() {
+		return editorId;
+	}
+
+	public void setEditorId(String editorId) {
+		this.editorId = editorId;
+	}
+
+	public BigDecimal getDownCnt() {
+		return downCnt;
+	}
+
+	public void setDownCnt(BigDecimal downCnt) {
+		this.downCnt = downCnt;
+	}
+
+	public String getMltmdClCode() {
+		return mltmdClCode;
+	}
+
+	public void setMltmdClCode(String mltmdClCode) {
+		this.mltmdClCode = mltmdClCode;
+	}
+
+	public String getFileStreWebCours() {
+		return fileStreWebCours;
+	}
+
+	public void setFileStreWebCours(String fileStreWebCours) {
+		this.fileStreWebCours = fileStreWebCours;
+	}
+
+	public String getIsNoTempFile() {
+		return isNoTempFile;
+	}
+
+	public void setIsNoTempFile(String isNoTempFile) {
+		this.isNoTempFile = isNoTempFile;
+	}
+
+	public long getMaxChunkSize() {
+		return maxChunkSize;
+	}
+
+	public void setMaxChunkSize(long maxChunkSize) {
+		this.maxChunkSize = maxChunkSize;
+	}
+
+	public String getPublicAt() {
+		return publicAt;
+	}
+
+	public void setPublicAt(String publicAt) {
+		this.publicAt = publicAt;
+	}
+
+	public String getSearchCtgryId() {
+		return searchCtgryId;
+	}
+
+	public void setSearchCtgryId(String searchCtgryId) {
+		this.searchCtgryId = searchCtgryId;
+	}
+
+	public String getSearchFileNm() {
+		return searchFileNm;
+	}
+
+	public void setSearchFileNm(String searchFileNm) {
+		this.searchFileNm = searchFileNm;
+	}
+
+	public String getSearchRegisterNm() {
+		return searchRegisterNm;
+	}
+
+	public void setSearchRegisterNm(String searchRegisterNm) {
+		this.searchRegisterNm = searchRegisterNm;
+	}
+
+	public List<String> getSearchFileExtsn() {
+		return searchFileExtsn;
+	}
+
+	public void setSearchFileExtsn(List<String> searchFileExtsn) {
+		this.searchFileExtsn = searchFileExtsn;
+	}
+
+	public String getSearchUseCnt() {
+		return searchUseCnt;
+	}
+
+	public void setSearchUseCnt(String searchUseCnt) {
+		this.searchUseCnt = searchUseCnt;
+	}
+
+	public String getSearchScope() {
+		return searchScope;
+	}
+
+	public void setSearchScope(String searchScope) {
+		this.searchScope = searchScope;
+	}
+
+	public String getSearchPublicAt() {
+		return searchPublicAt;
+	}
+
+	public void setSearchPublicAt(String searchPublicAt) {
+		this.searchPublicAt = searchPublicAt;
+	}
+
+	public String getFileExtNm() {
+		return fileExtNm;
+	}
+
+	public void setFileExtNm(String fileExtNm) {
+		this.fileExtNm = fileExtNm;
+	}
+
+	public String getHostCode() {
+		return hostCode;
+	}
+
+	public void setHostCode(String hostCode) {
+		this.hostCode = hostCode;
+	}
+
+	public String getSearchFrstRegisterId() {
+		return searchFrstRegisterId;
+	}
+
+	public void setSearchFrstRegisterId(String searchFrstRegisterId) {
+		this.searchFrstRegisterId = searchFrstRegisterId;
+	}
+
+	public String getFileExtImg() {
+		return fileExtImg;
+	}
+
+	public void setFileExtImg(String fileExtImg) {
+		this.fileExtImg = fileExtImg;
+	}
+
+	public String getFileExtOther() {
+		return fileExtOther;
+	}
+
+	public void setFileExtOther(String fileExtOther) {
+		this.fileExtOther = fileExtOther;
+	}
+
+	public String getFileExtMov() {
+		return fileExtMov;
+	}
+
+	public void setFileExtMov(String fileExtMov) {
+		this.fileExtMov = fileExtMov;
+	}
+
+	public String getDownLoadType() {
+		return downLoadType;
+	}
+
+	public void setDownLoadType(String downLoadType) {
+		this.downLoadType = downLoadType;
+	}
+
+	public String getViewType() {
+		return viewType;
+	}
+
+	public void setViewType(String viewType) {
+		this.viewType = viewType;
+	}
+
+	public String getDateType() {
+		return dateType;
+	}
+
+	public void setDateType(String dateType) {
+		this.dateType = dateType;
+	}
+
+	public int getFileImgWidth() {
+		return fileImgWidth;
+	}
+
+	public void setFileImgWidth(int fileImgWidth) {
+		this.fileImgWidth = fileImgWidth;
+	}
+
+	public int getFileImgHeight() {
+		return fileImgHeight;
+	}
+
+	public void setFileImgHeight(int fileImgHeight) {
+		this.fileImgHeight = fileImgHeight;
+	}
+}
base/src/main/java/egovframework/com/cmm/service/Globals.java
--- base/src/main/java/egovframework/com/cmm/service/Globals.java
+++ base/src/main/java/egovframework/com/cmm/service/Globals.java
@@ -1,124 +1,124 @@
-package egovframework.com.cmm.service;
-
-import javax.servlet.http.HttpServletRequest;
-import egovframework.module.utl.fcc.service.EgovHttpUtil;
-/**
- *  Class Name : Globals.java
- *  Description : 시스템 구동 시 프로퍼티를 통해 사용될 전역변수를 정의한다.
- *  Modification Information
- * 
- *     수정일         수정자                   수정내용
- *   -------    --------    ---------------------------
- *   2009.01.19    박지욱          최초 생성
- *
- *  @author 공통 서비스 개발팀 박지욱
- *  @since 2009. 01. 19
- *  @version 1.0
- *  @see 
- * 
- */
-
-public class Globals {
-	//OS 유형
-    public static final String OS_TYPE = EgovProperties.getProperty("Globals.OsType");
-    //DB 유형
-    public static final String DB_TYPE = EgovProperties.getProperty("Globals.DbType");
-    //메인 페이지
-    public static final String MAIN_PAGE = EgovProperties.getProperty("Globals.MainPage");
-    //ShellFile 경로
-    public static final String SHELL_FILE_PATH = EgovProperties.getProperty("Globals.ShellFilePath");
-    //퍼로퍼티 파일 위치
-    public static final String CONF_PATH = EgovProperties.getProperty("Globals.ConfPath");
-    //Server정보 프로퍼티 위치
-    public static final String SERVER_CONF_PATH = EgovProperties.getProperty("Globals.ServerConfPath");
-    //Client정보 프로퍼티 위치
-    public static final String CLIENT_CONF_PATH = EgovProperties.getProperty("Globals.ClientConfPath");
-    //파일포맷 정보 프로퍼티 위치
-    public static final String FILE_FORMAT_PATH = EgovProperties.getProperty("Globals.FileFormatPath");
-    
-    //파일 업로드 원 파일명
-	public static final String ORIGIN_FILE_NM = "originalFileName";
-	//파일 확장자
-	public static final String FILE_EXT = "fileExtension";
-	//파일크기
-	public static final String FILE_SIZE = "fileSize";
-	//업로드된 파일명
-	public static final String UPLOAD_FILE_NM = "uploadFileName";
-	//파일경로
-	public static final String FILE_PATH = "filePath";
-	
-	//메일발송요청 XML파일경로
-	public static final String MAIL_REQUEST_PATH = EgovProperties.getProperty("Globals.MailRequestPath");
-	//메일발송응답 XML파일경로
-	public static final String MAIL_RESPONSE_PATH = EgovProperties.getProperty("Globals.MailRResponsePath");
-	
-	// 도메인 (localhost)
-	public static final String DOMAIN = EgovProperties.getProperty("Globals.Domain");
-
-	// SSL 적용여부
-	public static final String SSL_AT = EgovProperties.getProperty("Globals.SslAt");
-		
-	// G4C 연결용 IP (localhost)
-	public static final String LOCAL_IP = EgovProperties.getProperty("Globals.LocalIp");
-	
-	//게시판 추가기능 활성화여부
-	public static final String ADDED_OPTIONS = EgovProperties.getProperty("Globals.addedOptions");
-	
-	//sms설정정보
-	public static final String SME_CONFIG_PATH = EgovProperties.getProperty("Globals.SMEConfigPath");
-	
-	//파일 저장 위치
-	public static final String FILE_STORE_PATH = EgovProperties.getProperty("Globals.fileStorePath"); 
-	
-	// 전화번호
-	public static final String PHONE = EgovProperties.getProperty("Globals.Phone");
-	
-	// 센드메일 호스트주소
-	public static final String EMAIL_HOST = EgovProperties.getProperty("Globals.EmailHost");
-	
-	// 센드메일 호스트포트
-	public static final String EMAIL_PORT = EgovProperties.getProperty("Globals.EmailPort");
-	
-	// 센드메일 계정
-	public static final String EMAIL_USER = EgovProperties.getProperty("Globals.EmailUser");
-	
-	// 센드메일 비번
-	public static final String EMAIL_PASSWORD = EgovProperties.getProperty("Globals.EmailPassword");
-	
-	// 관리자 메일주소
-	public static final String EMAIL_ADDRESS = EgovProperties.getProperty("Globals.EmailAdress");
-	
-	// 관리자 이메일명
-	public static final String EMAIL_NAME = EgovProperties.getProperty("Globals.EmailName");
-	
-	public static final String VOD_CONVERTER = EgovProperties.getProperty("Globals.VodConverter");
-	
-	public static final String VOD_PROBER = EgovProperties.getProperty("Globals.VodProber");
-
-	//CMS모드
-	public static final String CMS_MODE = EgovProperties.getProperty("CMS.mode");
-
-	// 웨일
-	public static final String CLIENT_ID = EgovProperties.getProperty("Globals.ClientId");
-	public static final String CLIENT_SECRET = EgovProperties.getProperty("Globals.ClientSecret");
-
-	//엑셀 템플릿 경로
-  	public static final String EXCEL_TEMPLATE_DIRECTORY = EgovProperties.getProperty("Globals.ExcelTemplateDirectory");
-	
-	//이니시스
-	//public static final String INICIS_MID = EgovProperties.getProperty("INICIS_MID"); 
-	//public static final String INICIS_ADMIN = EgovProperties.getProperty("INICIS_ADMIN"); 
-	//public static final String INICIS_URL = EgovProperties.getProperty("INICIS_URL"); 
-	//public static final String INICIS_HOME = EgovProperties.getProperty("INICIS_HOME"); 
-	public static final String PUBLISH_HEADER = "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\n";
-	public static final String PUBLISH_MOBILE_APPEND_FREFIX = "";
-	public static final String PUBLISH_PREVEIW_APPEND_FREFIX = "_PRE";
-	public static String getPublishAppendPrefix(HttpServletRequest request) {		
-		return (EgovHttpUtil.getIsMobile(request) ? PUBLISH_MOBILE_APPEND_FREFIX : "") + ("Y".equals(request.getParameter("previewYn")) ? PUBLISH_PREVEIW_APPEND_FREFIX : "");
-	}
-    
-	public static final String MENU_AUTO_MAKE_SITE_ID = "ZZZZZZZZZZZZZZZZZZZZ";
-	public static final String IMAGESERVER_ADDR = EgovProperties.getProperty("Globals.ImageServerAddr");
-	public static final String NPROTECT = EgovProperties.getProperty("Globals.nprotect");
-	
-}
+package egovframework.com.cmm.service;
+
+import jakarta.servlet.http.HttpServletRequest;
+import egovframework.module.utl.fcc.service.EgovHttpUtil;
+/**
+ *  Class Name : Globals.java
+ *  Description : 시스템 구동 시 프로퍼티를 통해 사용될 전역변수를 정의한다.
+ *  Modification Information
+ * 
+ *     수정일         수정자                   수정내용
+ *   -------    --------    ---------------------------
+ *   2009.01.19    박지욱          최초 생성
+ *
+ *  @author 공통 서비스 개발팀 박지욱
+ *  @since 2009. 01. 19
+ *  @version 1.0
+ *  @see 
+ * 
+ */
+
+public class Globals {
+	//OS 유형
+    public static final String OS_TYPE = EgovProperties.getProperty("Globals.OsType");
+    //DB 유형
+    public static final String DB_TYPE = EgovProperties.getProperty("Globals.DbType");
+    //메인 페이지
+    public static final String MAIN_PAGE = EgovProperties.getProperty("Globals.MainPage");
+    //ShellFile 경로
+    public static final String SHELL_FILE_PATH = EgovProperties.getProperty("Globals.ShellFilePath");
+    //퍼로퍼티 파일 위치
+    public static final String CONF_PATH = EgovProperties.getProperty("Globals.ConfPath");
+    //Server정보 프로퍼티 위치
+    public static final String SERVER_CONF_PATH = EgovProperties.getProperty("Globals.ServerConfPath");
+    //Client정보 프로퍼티 위치
+    public static final String CLIENT_CONF_PATH = EgovProperties.getProperty("Globals.ClientConfPath");
+    //파일포맷 정보 프로퍼티 위치
+    public static final String FILE_FORMAT_PATH = EgovProperties.getProperty("Globals.FileFormatPath");
+    
+    //파일 업로드 원 파일명
+	public static final String ORIGIN_FILE_NM = "originalFileName";
+	//파일 확장자
+	public static final String FILE_EXT = "fileExtension";
+	//파일크기
+	public static final String FILE_SIZE = "fileSize";
+	//업로드된 파일명
+	public static final String UPLOAD_FILE_NM = "uploadFileName";
+	//파일경로
+	public static final String FILE_PATH = "filePath";
+	
+	//메일발송요청 XML파일경로
+	public static final String MAIL_REQUEST_PATH = EgovProperties.getProperty("Globals.MailRequestPath");
+	//메일발송응답 XML파일경로
+	public static final String MAIL_RESPONSE_PATH = EgovProperties.getProperty("Globals.MailRResponsePath");
+	
+	// 도메인 (localhost)
+	public static final String DOMAIN = EgovProperties.getProperty("Globals.Domain");
+
+	// SSL 적용여부
+	public static final String SSL_AT = EgovProperties.getProperty("Globals.SslAt");
+		
+	// G4C 연결용 IP (localhost)
+	public static final String LOCAL_IP = EgovProperties.getProperty("Globals.LocalIp");
+	
+	//게시판 추가기능 활성화여부
+	public static final String ADDED_OPTIONS = EgovProperties.getProperty("Globals.addedOptions");
+	
+	//sms설정정보
+	public static final String SME_CONFIG_PATH = EgovProperties.getProperty("Globals.SMEConfigPath");
+	
+	//파일 저장 위치
+	public static final String FILE_STORE_PATH = EgovProperties.getProperty("Globals.fileStorePath"); 
+	
+	// 전화번호
+	public static final String PHONE = EgovProperties.getProperty("Globals.Phone");
+	
+	// 센드메일 호스트주소
+	public static final String EMAIL_HOST = EgovProperties.getProperty("Globals.EmailHost");
+	
+	// 센드메일 호스트포트
+	public static final String EMAIL_PORT = EgovProperties.getProperty("Globals.EmailPort");
+	
+	// 센드메일 계정
+	public static final String EMAIL_USER = EgovProperties.getProperty("Globals.EmailUser");
+	
+	// 센드메일 비번
+	public static final String EMAIL_PASSWORD = EgovProperties.getProperty("Globals.EmailPassword");
+	
+	// 관리자 메일주소
+	public static final String EMAIL_ADDRESS = EgovProperties.getProperty("Globals.EmailAdress");
+	
+	// 관리자 이메일명
+	public static final String EMAIL_NAME = EgovProperties.getProperty("Globals.EmailName");
+	
+	public static final String VOD_CONVERTER = EgovProperties.getProperty("Globals.VodConverter");
+	
+	public static final String VOD_PROBER = EgovProperties.getProperty("Globals.VodProber");
+
+	//CMS모드
+	public static final String CMS_MODE = EgovProperties.getProperty("CMS.mode");
+
+	// 웨일
+	public static final String CLIENT_ID = EgovProperties.getProperty("Globals.ClientId");
+	public static final String CLIENT_SECRET = EgovProperties.getProperty("Globals.ClientSecret");
+
+	//엑셀 템플릿 경로
+  	public static final String EXCEL_TEMPLATE_DIRECTORY = EgovProperties.getProperty("Globals.ExcelTemplateDirectory");
+	
+	//이니시스
+	//public static final String INICIS_MID = EgovProperties.getProperty("INICIS_MID"); 
+	//public static final String INICIS_ADMIN = EgovProperties.getProperty("INICIS_ADMIN"); 
+	//public static final String INICIS_URL = EgovProperties.getProperty("INICIS_URL"); 
+	//public static final String INICIS_HOME = EgovProperties.getProperty("INICIS_HOME"); 
+	public static final String PUBLISH_HEADER = "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\n";
+	public static final String PUBLISH_MOBILE_APPEND_FREFIX = "";
+	public static final String PUBLISH_PREVEIW_APPEND_FREFIX = "_PRE";
+	public static String getPublishAppendPrefix(HttpServletRequest request) {		
+		return (EgovHttpUtil.getIsMobile(request) ? PUBLISH_MOBILE_APPEND_FREFIX : "") + ("Y".equals(request.getParameter("previewYn")) ? PUBLISH_PREVEIW_APPEND_FREFIX : "");
+	}
+    
+	public static final String MENU_AUTO_MAKE_SITE_ID = "ZZZZZZZZZZZZZZZZZZZZ";
+	public static final String IMAGESERVER_ADDR = EgovProperties.getProperty("Globals.ImageServerAddr");
+	public static final String NPROTECT = EgovProperties.getProperty("Globals.nprotect");
+	
+}
base/src/main/java/egovframework/com/cmm/service/GsonGenericAdapter.java
--- base/src/main/java/egovframework/com/cmm/service/GsonGenericAdapter.java
+++ base/src/main/java/egovframework/com/cmm/service/GsonGenericAdapter.java
@@ -1,63 +1,63 @@
-package egovframework.com.cmm.service;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import com.google.gson.TypeAdapter;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-
-import egovframework.com.cmm.util.EgovBasicLogger;
-
-public class GsonGenericAdapter extends TypeAdapter<Object>{
-	  @Override
-	  public void write(JsonWriter jsonWriter, Object o) throws IOException
-	  {
-	    jsonWriter.beginObject();
-	    for (Field field : o.getClass().getDeclaredFields())
-	    {
-	      Object fieldValue = runGetter(field, o);
-	      jsonWriter.name(field.getName());
-	      if (fieldValue == null)
-	      {
-	        jsonWriter.value("");
-	      }
-	      else {
-	        jsonWriter.value(fieldValue.toString());
-	      }
-	    }
-	    jsonWriter.endObject();
-	  }
-
-	  @Override
-	  public Object read(JsonReader jsonReader) throws IOException
-	  {
-	    /* Don't forget to add implementation here to have your Object back alive :) */
-	    return null;
-	  }
-
-	  /**
-	   * A generic field accessor runner.
-	   * Run the right getter on the field to get its value.
-	   * @param field
-	   * @param o {@code Object}
-	   * @return
-	   */
-	  public static Object runGetter(Field field, Object o)
-	  {
-	    // MZ: Find the correct method
-	    for (Method method : o.getClass().getMethods()) {
-	      if ((method.getName().startsWith("get")) && (method.getName().length() == (field.getName().length() + 3))) {
-	        if (method.getName().toLowerCase().endsWith(field.getName().toLowerCase())) {
-	          try {
-	            return method.invoke(o);
-	          } catch (IllegalAccessException e){EgovBasicLogger.debug(e.getMessage(), e);}
-	          catch (InvocationTargetException e) {EgovBasicLogger.debug(e.getMessage(), e); }
-	        }
-	      }
-	    }
-	    return null;
-	  }
-	}
+package egovframework.com.cmm.service;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import com.google.gson.TypeAdapter;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+
+import egovframework.com.cmm.util.EgovBasicLogger;
+
+public class GsonGenericAdapter extends TypeAdapter<Object>{
+	  @Override
+	  public void write(JsonWriter jsonWriter, Object o) throws IOException
+	  {
+	    jsonWriter.beginObject();
+	    for (Field field : o.getClass().getDeclaredFields())
+	    {
+	      Object fieldValue = runGetter(field, o);
+	      jsonWriter.name(field.getName());
+	      if (fieldValue == null)
+	      {
+	        jsonWriter.value("");
+	      }
+	      else {
+	        jsonWriter.value(fieldValue.toString());
+	      }
+	    }
+	    jsonWriter.endObject();
+	  }
+
+	  @Override
+	  public Object read(JsonReader jsonReader) throws IOException
+	  {
+	    /* Don't forget to add implementation here to have your Object back alive :) */
+	    return null;
+	  }
+
+	  /**
+	   * A generic field accessor runner.
+	   * Run the right getter on the field to get its value.
+	   * @param field
+	   * @param o {@code Object}
+	   * @return
+	   */
+	  public static Object runGetter(Field field, Object o)
+	  {
+	    // MZ: Find the correct method
+	    for (Method method : o.getClass().getMethods()) {
+	      if ((method.getName().startsWith("get")) && (method.getName().length() == (field.getName().length() + 3))) {
+	        if (method.getName().toLowerCase().endsWith(field.getName().toLowerCase())) {
+	          try {
+	            return method.invoke(o);
+	          } catch (IllegalAccessException e){EgovBasicLogger.debug(e.getMessage(), e);}
+	          catch (InvocationTargetException e) {EgovBasicLogger.debug(e.getMessage(), e); }
+	        }
+	      }
+	    }
+	    return null;
+	  }
+	}
base/src/main/java/egovframework/com/cmm/service/JsonResponse.java
--- base/src/main/java/egovframework/com/cmm/service/JsonResponse.java
+++ base/src/main/java/egovframework/com/cmm/service/JsonResponse.java
@@ -1,129 +1,129 @@
-package egovframework.com.cmm.service;
-
-import java.io.Serializable;
-
-/**
- * <pre>
- * Class Name  : JsonResponse.java
- * Description : Json응답 
- * Copyright (C) 2015 by J2soft All right reserved.
- * </pre>
- */
-public class JsonResponse implements Serializable{
-
-	private static final long serialVersionUID = 8190170128458805431L;
-
-	/**
-	 * 성공 여부
-	 */
-	private boolean success =false;
-	
-	/**
-	 * 권한에러
-	 */
-	private boolean auth = false;
-
-	/**
-	 * 에러 코드
-	 */
-	private String code;
-
-	/**
-	 * 에러 메시지
-	 */
-	private String message;
-	
-	private Serializable data;
-	
-	private Serializable files;
-	
-	private Serializable wireData;
-	
-	private int count = 0;
-
-	public JsonResponse(){
-	}
-	
-	public JsonResponse(boolean success){
-		this.success = success;
-	}
-
-	public JsonResponse(boolean success, String message){
-		this.success = success;
-		this.message = message;
-	}
-
-	public JsonResponse(boolean success, String code, String message){
-		this.success = success;
-		this.code = code;
-		this.message = message;
-	}
-	
-	public boolean isSuccess() {
-		return success;
-	}
-
-	
-	public void setSuccess(boolean success) {
-		this.success = success;
-	}
-
-	public String getCode(){
-		return code;
-	}
-
-	public void setCode(String code){
-		this.code = code;
-	}
-
-	public String getMessage(){
-		return message;
-	}
-
-	public void setMessage(String message){
-		this.message = message;
-	}
-
-	public Serializable getData() {
-		return data;
-	}
-
-	public void setData(Serializable data) {
-		this.data = data;
-	}
-
-	
-	public boolean isAuth() {
-		return auth;
-	}
-
-	
-	public void setAuth(boolean auth) {
-		this.auth = auth;
-	}
-
-	public int getCount() {
-		return count;
-	}
-
-	public void setCount(int count) {
-		this.count = count;
-	}
-
-	public Serializable getFiles() {
-		return files;
-	}
-
-	public void setFiles(Serializable files) {
-		this.files = files;
-	}
-
-	public Serializable getWireData() {
-		return wireData;
-	}
-
-	public void setWireData(Serializable wireData) {
-		this.wireData = wireData;
-	}
-
-}
+package egovframework.com.cmm.service;
+
+import java.io.Serializable;
+
+/**
+ * <pre>
+ * Class Name  : JsonResponse.java
+ * Description : Json응답 
+ * Copyright (C) 2015 by J2soft All right reserved.
+ * </pre>
+ */
+public class JsonResponse implements Serializable{
+
+	private static final long serialVersionUID = 8190170128458805431L;
+
+	/**
+	 * 성공 여부
+	 */
+	private boolean success =false;
+	
+	/**
+	 * 권한에러
+	 */
+	private boolean auth = false;
+
+	/**
+	 * 에러 코드
+	 */
+	private String code;
+
+	/**
+	 * 에러 메시지
+	 */
+	private String message;
+	
+	private Serializable data;
+	
+	private Serializable files;
+	
+	private Serializable wireData;
+	
+	private int count = 0;
+
+	public JsonResponse(){
+	}
+	
+	public JsonResponse(boolean success){
+		this.success = success;
+	}
+
+	public JsonResponse(boolean success, String message){
+		this.success = success;
+		this.message = message;
+	}
+
+	public JsonResponse(boolean success, String code, String message){
+		this.success = success;
+		this.code = code;
+		this.message = message;
+	}
+	
+	public boolean isSuccess() {
+		return success;
+	}
+
+	
+	public void setSuccess(boolean success) {
+		this.success = success;
+	}
+
+	public String getCode(){
+		return code;
+	}
+
+	public void setCode(String code){
+		this.code = code;
+	}
+
+	public String getMessage(){
+		return message;
+	}
+
+	public void setMessage(String message){
+		this.message = message;
+	}
+
+	public Serializable getData() {
+		return data;
+	}
+
+	public void setData(Serializable data) {
+		this.data = data;
+	}
+
+	
+	public boolean isAuth() {
+		return auth;
+	}
+
+	
+	public void setAuth(boolean auth) {
+		this.auth = auth;
+	}
+
+	public int getCount() {
+		return count;
+	}
+
+	public void setCount(int count) {
+		this.count = count;
+	}
+
+	public Serializable getFiles() {
+		return files;
+	}
+
+	public void setFiles(Serializable files) {
+		this.files = files;
+	}
+
+	public Serializable getWireData() {
+		return wireData;
+	}
+
+	public void setWireData(Serializable wireData) {
+		this.wireData = wireData;
+	}
+
+}
base/src/main/java/egovframework/com/cmm/service/SearchVO.java
--- base/src/main/java/egovframework/com/cmm/service/SearchVO.java
+++ base/src/main/java/egovframework/com/cmm/service/SearchVO.java
@@ -1,254 +1,254 @@
-package egovframework.com.cmm.service;
-
-import egovframework.com.cmm.ComDefaultVO;
-
-/**
- * @Class Name : FileVO.java
- * @Description : 파일정보 처리를 위한 VO 클래스
- * @Modification Information
- *
- *    수정일       수정자         수정내용
- *    -------        -------     -------------------
- *    2009. 3. 25.     이삼섭
- *
- * @author 공통 서비스 개발팀 이삼섭
- * @since 2009. 3. 25.
- * @version
- * @see
- *
- */
-@SuppressWarnings("serial")
-public class SearchVO extends ComDefaultVO {
-
-	public String searchCtgryId;
-
-    public String searchStartDate;
-
-    public String searchEndDate;
-
-    public String searchRegisterNm;
-
-    public String searchCrclId;
-
-    public String searchCrclNm;
-
-    public String searchCrclbId;
-
-    public String searchStudySubject;
-
-    public String searchClassManage;
-
-    public String searchTodayClass;
-
-    public String searchProcessSttusCode;
-
-    public String searchKeyWord;
-
-    public String[] searchSysType;
-
-    public String[] searchSchdulClCode;
-
-    public String searchSubmitN;
-
-    public String searchSubmitI;
-
-    public String searchSubmitF;
-
-    public String searchCrclLang;
-
-    public String searchPageFlag;
-
-    public String sessionId;
-
-    private String[] searchSubmitArr;
-
-    private String searchSubmit;
-    
-    private String searchPlType;
-    
-
-   public String getSearchCtgryId() {
-      return searchCtgryId;
-   }
-
-   public void setSearchCtgryId(String searchCtgryId) {
-      this.searchCtgryId = searchCtgryId;
-   }
-
-   public String getSearchStartDate() {
-      return searchStartDate;
-   }
-
-   public void setSearchStartDate(String searchStartDate) {
-      this.searchStartDate = searchStartDate;
-   }
-
-   public String getSearchEndDate() {
-      return searchEndDate;
-   }
-
-   public void setSearchEndDate(String searchEndDate) {
-      this.searchEndDate = searchEndDate;
-   }
-
-   public String getSearchRegisterNm() {
-      return searchRegisterNm;
-   }
-
-   public void setSearchRegisterNm(String searchRegisterNm) {
-      this.searchRegisterNm = searchRegisterNm;
-   }
-
-   public String getSearchCrclId() {
-      return searchCrclId;
-   }
-
-   public void setSearchCrclId(String searchCrclId) {
-      this.searchCrclId = searchCrclId;
-   }
-
-   public String getSearchCrclbId() {
-      return searchCrclbId;
-   }
-
-   public void setSearchCrclbId(String searchCrclbId) {
-      this.searchCrclbId = searchCrclbId;
-   }
-
-	public String getSearchStudySubject() {
-		return searchStudySubject;
-	}
-
-	public void setSearchStudySubject(String searchStudySubject) {
-		this.searchStudySubject = searchStudySubject;
-	}
-
-	public String getSearchClassManage() {
-		return searchClassManage;
-	}
-
-	public void setSearchClassManage(String searchClassManage) {
-		this.searchClassManage = searchClassManage;
-	}
-
-	public String getSearchTodayClass() {
-		return searchTodayClass;
-	}
-
-	public void setSearchTodayClass(String searchTodayClass) {
-		this.searchTodayClass = searchTodayClass;
-	}
-
-	public String getSearchProcessSttusCode() {
-		return searchProcessSttusCode;
-	}
-
-	public void setSearchProcessSttusCode(String searchProcessSttusCode) {
-		this.searchProcessSttusCode = searchProcessSttusCode;
-	}
-
-	public String getSearchKeyWord() {
-		return searchKeyWord;
-	}
-
-	public void setSearchKeyWord(String searchKeyWord) {
-		this.searchKeyWord = searchKeyWord;
-	}
-
-	public String[] getSearchSysType() {
-		return searchSysType;
-	}
-
-	public void setSearchSysType(String[] searchSysType) {
-		this.searchSysType = searchSysType;
-	}
-
-	public String[] getSearchSchdulClCode() {
-		return searchSchdulClCode;
-	}
-
-	public void setSearchSchdulClCode(String[] searchSchdulClCode) {
-		this.searchSchdulClCode = searchSchdulClCode;
-	}
-
-	public String getSearchSubmitN() {
-		return searchSubmitN;
-	}
-
-	public void setSearchSubmitN(String searchSubmitN) {
-		this.searchSubmitN = searchSubmitN;
-	}
-
-	public String getSearchSubmitI() {
-		return searchSubmitI;
-	}
-
-	public void setSearchSubmitI(String searchSubmitI) {
-		this.searchSubmitI = searchSubmitI;
-	}
-
-	public String getSearchSubmitF() {
-		return searchSubmitF;
-	}
-
-	public void setSearchSubmitF(String searchSubmitF) {
-		this.searchSubmitF = searchSubmitF;
-	}
-
-	public String getSearchCrclLang() {
-		return searchCrclLang;
-	}
-
-	public void setSearchCrclLang(String searchCrclLang) {
-		this.searchCrclLang = searchCrclLang;
-	}
-
-	public String getSearchPageFlag() {
-		return searchPageFlag;
-	}
-
-	public void setSearchPageFlag(String searchPageFlag) {
-		this.searchPageFlag = searchPageFlag;
-	}
-
-	public String getSessionId() {
-		return sessionId;
-	}
-
-	public void setSessionId(String sessionId) {
-		this.sessionId = sessionId;
-	}
-
-	public String getSearchCrclNm() {
-		return searchCrclNm;
-	}
-
-	public void setSearchCrclNm(String searchCrclNm) {
-		this.searchCrclNm = searchCrclNm;
-	}
-
-	public String[] getSearchSubmitArr() {
-		return searchSubmitArr;
-	}
-
-	public void setSearchSubmitArr(String[] searchSubmitArr) {
-		this.searchSubmitArr = searchSubmitArr;
-	}
-
-	public String getSearchSubmit() {
-		return searchSubmit;
-	}
-
-	public void setSearchSubmit(String searchSubmit) {
-		this.searchSubmit = searchSubmit;
-	}
-
-	public String getSearchPlType() {
-		return searchPlType;
-	}
-
-	public void setSearchPlType(String searchPlType) {
-		this.searchPlType = searchPlType;
-	}
-
-}
+package egovframework.com.cmm.service;
+
+import egovframework.com.cmm.ComDefaultVO;
+
+/**
+ * @Class Name : FileVO.java
+ * @Description : 파일정보 처리를 위한 VO 클래스
+ * @Modification Information
+ *
+ *    수정일       수정자         수정내용
+ *    -------        -------     -------------------
+ *    2009. 3. 25.     이삼섭
+ *
+ * @author 공통 서비스 개발팀 이삼섭
+ * @since 2009. 3. 25.
+ * @version
+ * @see
+ *
+ */
+@SuppressWarnings("serial")
+public class SearchVO extends ComDefaultVO {
+
+	public String searchCtgryId;
+
+    public String searchStartDate;
+
+    public String searchEndDate;
+
+    public String searchRegisterNm;
+
+    public String searchCrclId;
+
+    public String searchCrclNm;
+
+    public String searchCrclbId;
+
+    public String searchStudySubject;
+
+    public String searchClassManage;
+
+    public String searchTodayClass;
+
+    public String searchProcessSttusCode;
+
+    public String searchKeyWord;
+
+    public String[] searchSysType;
+
+    public String[] searchSchdulClCode;
+
+    public String searchSubmitN;
+
+    public String searchSubmitI;
+
+    public String searchSubmitF;
+
+    public String searchCrclLang;
+
+    public String searchPageFlag;
+
+    public String sessionId;
+
+    private String[] searchSubmitArr;
+
+    private String searchSubmit;
+    
+    private String searchPlType;
+    
+
+   public String getSearchCtgryId() {
+      return searchCtgryId;
+   }
+
+   public void setSearchCtgryId(String searchCtgryId) {
+      this.searchCtgryId = searchCtgryId;
+   }
+
+   public String getSearchStartDate() {
+      return searchStartDate;
+   }
+
+   public void setSearchStartDate(String searchStartDate) {
+      this.searchStartDate = searchStartDate;
+   }
+
+   public String getSearchEndDate() {
+      return searchEndDate;
+   }
+
+   public void setSearchEndDate(String searchEndDate) {
+      this.searchEndDate = searchEndDate;
+   }
+
+   public String getSearchRegisterNm() {
+      return searchRegisterNm;
+   }
+
+   public void setSearchRegisterNm(String searchRegisterNm) {
+      this.searchRegisterNm = searchRegisterNm;
+   }
+
+   public String getSearchCrclId() {
+      return searchCrclId;
+   }
+
+   public void setSearchCrclId(String searchCrclId) {
+      this.searchCrclId = searchCrclId;
+   }
+
+   public String getSearchCrclbId() {
+      return searchCrclbId;
+   }
+
+   public void setSearchCrclbId(String searchCrclbId) {
+      this.searchCrclbId = searchCrclbId;
+   }
+
+	public String getSearchStudySubject() {
+		return searchStudySubject;
+	}
+
+	public void setSearchStudySubject(String searchStudySubject) {
+		this.searchStudySubject = searchStudySubject;
+	}
+
+	public String getSearchClassManage() {
+		return searchClassManage;
+	}
+
+	public void setSearchClassManage(String searchClassManage) {
+		this.searchClassManage = searchClassManage;
+	}
+
+	public String getSearchTodayClass() {
+		return searchTodayClass;
+	}
+
+	public void setSearchTodayClass(String searchTodayClass) {
+		this.searchTodayClass = searchTodayClass;
+	}
+
+	public String getSearchProcessSttusCode() {
+		return searchProcessSttusCode;
+	}
+
+	public void setSearchProcessSttusCode(String searchProcessSttusCode) {
+		this.searchProcessSttusCode = searchProcessSttusCode;
+	}
+
+	public String getSearchKeyWord() {
+		return searchKeyWord;
+	}
+
+	public void setSearchKeyWord(String searchKeyWord) {
+		this.searchKeyWord = searchKeyWord;
+	}
+
+	public String[] getSearchSysType() {
+		return searchSysType;
+	}
+
+	public void setSearchSysType(String[] searchSysType) {
+		this.searchSysType = searchSysType;
+	}
+
+	public String[] getSearchSchdulClCode() {
+		return searchSchdulClCode;
+	}
+
+	public void setSearchSchdulClCode(String[] searchSchdulClCode) {
+		this.searchSchdulClCode = searchSchdulClCode;
+	}
+
+	public String getSearchSubmitN() {
+		return searchSubmitN;
+	}
+
+	public void setSearchSubmitN(String searchSubmitN) {
+		this.searchSubmitN = searchSubmitN;
+	}
+
+	public String getSearchSubmitI() {
+		return searchSubmitI;
+	}
+
+	public void setSearchSubmitI(String searchSubmitI) {
+		this.searchSubmitI = searchSubmitI;
+	}
+
+	public String getSearchSubmitF() {
+		return searchSubmitF;
+	}
+
+	public void setSearchSubmitF(String searchSubmitF) {
+		this.searchSubmitF = searchSubmitF;
+	}
+
+	public String getSearchCrclLang() {
+		return searchCrclLang;
+	}
+
+	public void setSearchCrclLang(String searchCrclLang) {
+		this.searchCrclLang = searchCrclLang;
+	}
+
+	public String getSearchPageFlag() {
+		return searchPageFlag;
+	}
+
+	public void setSearchPageFlag(String searchPageFlag) {
+		this.searchPageFlag = searchPageFlag;
+	}
+
+	public String getSessionId() {
+		return sessionId;
+	}
+
+	public void setSessionId(String sessionId) {
+		this.sessionId = sessionId;
+	}
+
+	public String getSearchCrclNm() {
+		return searchCrclNm;
+	}
+
+	public void setSearchCrclNm(String searchCrclNm) {
+		this.searchCrclNm = searchCrclNm;
+	}
+
+	public String[] getSearchSubmitArr() {
+		return searchSubmitArr;
+	}
+
+	public void setSearchSubmitArr(String[] searchSubmitArr) {
+		this.searchSubmitArr = searchSubmitArr;
+	}
+
+	public String getSearchSubmit() {
+		return searchSubmit;
+	}
+
+	public void setSearchSubmit(String searchSubmit) {
+		this.searchSubmit = searchSubmit;
+	}
+
+	public String getSearchPlType() {
+		return searchPlType;
+	}
+
+	public void setSearchPlType(String searchPlType) {
+		this.searchPlType = searchPlType;
+	}
+
+}
base/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java
--- base/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java
+++ base/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java
@@ -1,65 +1,65 @@
-package egovframework.com.cmm.service.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import egovframework.com.cmm.service.EgovUserDetailsService;
-
-import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-
-import org.springframework.web.context.request.RequestAttributes;
-import org.springframework.web.context.request.RequestContextHolder;
-
-/**
- * 
- * @author 공통서비스 개발팀 서준식
- * @since 2011. 6. 25.
- * @version 1.0
- * @see
- *
- * <pre>
- * 개정이력(Modification Information) 
- * 
- *   수정일      수정자          수정내용
- *  -------    --------    ---------------------------
- *  2011. 8. 12.    서준식        최초생성
- *  
- *  </pre>
- */
-
-public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService {
-
-	public Object getAuthenticatedUser() {
-		if (RequestContextHolder.getRequestAttributes() == null) {
-			return null;
-		}
-
-		return RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION);
-
-	}
-
-	public List<String> getAuthorities() {
-
-		// 권한 설정을 리턴한다.
-		List<String> listAuth = new ArrayList<String>();
-
-		return listAuth;
-	}
-
-	public Boolean isAuthenticated() {
-		// 인증된 유저인지 확인한다.
-
-		if (RequestContextHolder.getRequestAttributes() == null) {
-			return false;
-		} else {
-
-			if (RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION) == null) {
-				return false;
-			} else {
-				return true;
-			}
-		}
-
-	}
-
-}
+package egovframework.com.cmm.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import egovframework.com.cmm.service.EgovUserDetailsService;
+
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+
+/**
+ * 
+ * @author 공통서비스 개발팀 서준식
+ * @since 2011. 6. 25.
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * 개정이력(Modification Information) 
+ * 
+ *   수정일      수정자          수정내용
+ *  -------    --------    ---------------------------
+ *  2011. 8. 12.    서준식        최초생성
+ *  
+ *  </pre>
+ */
+
+public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService {
+
+	public Object getAuthenticatedUser() {
+		if (RequestContextHolder.getRequestAttributes() == null) {
+			return null;
+		}
+
+		return RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION);
+
+	}
+
+	public List<String> getAuthorities() {
+
+		// 권한 설정을 리턴한다.
+		List<String> listAuth = new ArrayList<String>();
+
+		return listAuth;
+	}
+
+	public Boolean isAuthenticated() {
+		// 인증된 유저인지 확인한다.
+
+		if (RequestContextHolder.getRequestAttributes() == null) {
+			return false;
+		} else {
+
+			if (RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION) == null) {
+				return false;
+			} else {
+				return true;
+			}
+		}
+
+	}
+
+}
base/src/main/java/egovframework/com/cmm/service/impl/FileMngServiceImpl.java
--- base/src/main/java/egovframework/com/cmm/service/impl/FileMngServiceImpl.java
+++ base/src/main/java/egovframework/com/cmm/service/impl/FileMngServiceImpl.java
@@ -4,8 +4,8 @@
 import java.util.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Service;
base/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java
--- base/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java
+++ base/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java
@@ -1,88 +1,88 @@
-package egovframework.com.cmm.taglibs;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import egovframework.com.cmm.util.EgovDoubleSubmitHelper;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.tagext.TagSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * TagSupport to support to double submit preventer
- * @author Vincent Han
- * @since 2014.08.07
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일        수정자       수정내용
- *  -------       --------    ---------------------------
- *   2014.08.07	표준프레임워크센터	최초 생성
- *
- * </pre>
- */
-public class DoubleSubmitTag extends TagSupport {
-	private static final Logger LOGGER = LoggerFactory.getLogger(DoubleSubmitTag.class);
-
-	/**
-	 * Generated Serial Version UID
-	 */
-	private static final long serialVersionUID = 5242217605452312594L;
-	
-	private String tokenKey = EgovDoubleSubmitHelper.DEFAULT_TOKEN_KEY;
-
-	public String getTokenKey() {
-		return tokenKey;
-	}
-
-	public void setTokenKey(String tokenKey) {
-		this.tokenKey = tokenKey;
-	}
-
-	@SuppressWarnings("unchecked")
-	public int doStartTag()	throws JspException {
-		StringBuilder buffer = new StringBuilder();
-		
-		HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
-		HttpSession session = request.getSession();
-		
-		Map<String, String> map = null;
-		
-		if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
-			map = new HashMap<String, String>();
-			
-			session.setAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY, map);
-		} else {
-			map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
-		}
-				
-		// First call (check session)
-		if (map.get(tokenKey) == null) {
-			
-			map.put(tokenKey, EgovDoubleSubmitHelper.getNewUUID());
-
-			LOGGER.debug("[Double Submit] session token created({}) : {}", tokenKey, map.get(tokenKey)); 
-		}
-		
-		buffer.append("<input type='hidden' name='").append(EgovDoubleSubmitHelper.PARAMETER_NAME).append("' value='").append(map.get(tokenKey)).append("'/>");
-		
-		try {
-			pageContext.getOut().print(buffer.toString());
-		} catch (IOException e) {
-			throw new JspTagException("Error:  IOException while writing to the user");
-		}
-		
-        return SKIP_BODY;
-	}
-	
-}
+package egovframework.com.cmm.taglibs;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import egovframework.com.cmm.util.EgovDoubleSubmitHelper;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.tagext.TagSupport;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * TagSupport to support to double submit preventer
+ * @author Vincent Han
+ * @since 2014.08.07
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일        수정자       수정내용
+ *  -------       --------    ---------------------------
+ *   2014.08.07	표준프레임워크센터	최초 생성
+ *
+ * </pre>
+ */
+public class DoubleSubmitTag extends TagSupport {
+	private static final Logger LOGGER = LoggerFactory.getLogger(DoubleSubmitTag.class);
+
+	/**
+	 * Generated Serial Version UID
+	 */
+	private static final long serialVersionUID = 5242217605452312594L;
+	
+	private String tokenKey = EgovDoubleSubmitHelper.DEFAULT_TOKEN_KEY;
+
+	public String getTokenKey() {
+		return tokenKey;
+	}
+
+	public void setTokenKey(String tokenKey) {
+		this.tokenKey = tokenKey;
+	}
+
+	@SuppressWarnings("unchecked")
+	public int doStartTag()	throws JspException {
+		StringBuilder buffer = new StringBuilder();
+		
+		HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
+		HttpSession session = request.getSession();
+		
+		Map<String, String> map = null;
+		
+		if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
+			map = new HashMap<String, String>();
+			
+			session.setAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY, map);
+		} else {
+			map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
+		}
+				
+		// First call (check session)
+		if (map.get(tokenKey) == null) {
+			
+			map.put(tokenKey, EgovDoubleSubmitHelper.getNewUUID());
+
+			LOGGER.debug("[Double Submit] session token created({}) : {}", tokenKey, map.get(tokenKey)); 
+		}
+		
+		buffer.append("<input type='hidden' name='").append(EgovDoubleSubmitHelper.PARAMETER_NAME).append("' value='").append(map.get(tokenKey)).append("'/>");
+		
+		try {
+			pageContext.getOut().print(buffer.toString());
+		} catch (IOException e) {
+			throw new JspTagException("Error:  IOException while writing to the user");
+		}
+		
+        return SKIP_BODY;
+	}
+	
+}
base/src/main/java/egovframework/com/cmm/util/CryptoARIAUtil.java
--- base/src/main/java/egovframework/com/cmm/util/CryptoARIAUtil.java
+++ base/src/main/java/egovframework/com/cmm/util/CryptoARIAUtil.java
@@ -1,52 +1,52 @@
-package egovframework.com.cmm.util;
-
-import javax.annotation.Resource;
-
-import org.apache.commons.codec.binary.Base64;
-import org.springframework.stereotype.Component;
-
-import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;
-import egovframework.rte.fdl.property.EgovPropertyService;
-import egovframework.rte.fdl.cryptography.impl.EgovARIACryptoServiceImpl;
-
-@Component("CryptoARIAUtil")
-public class CryptoARIAUtil{
-
-    @Resource(name = "propertiesService")
-    protected EgovPropertyService propertyService;
-    
-    //암호화
-    public byte[] encryptData(String data){
-        EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();
-        EgovARIACryptoServiceImpl egovARIACryptoServiceImpl = new EgovARIACryptoServiceImpl();
-        
-        String key = propertyService.getString("crypto.hashed.password");
-        String hasedPassword = egovPasswordEncoder.encryptPassword(key);
-        egovPasswordEncoder.setHashedPassword(hasedPassword);
-        egovPasswordEncoder.setAlgorithm("SHA-256");
-        egovARIACryptoServiceImpl.setPasswordEncoder(egovPasswordEncoder);
-        egovARIACryptoServiceImpl.setBlockSize(1025);
-        
-        byte[] encrypted = egovARIACryptoServiceImpl.encrypt(data.getBytes(), key);
-        return encrypted;
-    }
-    
-    //복호화
-    public byte[] decryptedData(String data){
-        
-        EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();
-        EgovARIACryptoServiceImpl egovARIACryptoServiceImpl = new EgovARIACryptoServiceImpl();
-        
-        String key = propertyService.getString("crypto.hashed.password");
-        String hasedPassword = egovPasswordEncoder.encryptPassword(key);
-        egovPasswordEncoder.setHashedPassword(hasedPassword);
-        egovPasswordEncoder.setAlgorithm("SHA-256");
-        egovARIACryptoServiceImpl.setPasswordEncoder(egovPasswordEncoder);
-        egovARIACryptoServiceImpl.setBlockSize(1025);
-        
-        byte[] decrypted = egovARIACryptoServiceImpl.decrypt(Base64.decodeBase64(data.getBytes()), key);
-        return decrypted;
-    }
-    
-    
-}
+package egovframework.com.cmm.util;
+
+import javax.annotation.Resource;
+
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.stereotype.Component;
+
+import egovframework.rte.fdl.cryptography.EgovPasswordEncoder;
+import egovframework.rte.fdl.property.EgovPropertyService;
+import egovframework.rte.fdl.cryptography.impl.EgovARIACryptoServiceImpl;
+
+@Component("CryptoARIAUtil")
+public class CryptoARIAUtil{
+
+    @Resource(name = "propertiesService")
+    protected EgovPropertyService propertyService;
+    
+    //암호화
+    public byte[] encryptData(String data){
+        EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();
+        EgovARIACryptoServiceImpl egovARIACryptoServiceImpl = new EgovARIACryptoServiceImpl();
+        
+        String key = propertyService.getString("crypto.hashed.password");
+        String hasedPassword = egovPasswordEncoder.encryptPassword(key);
+        egovPasswordEncoder.setHashedPassword(hasedPassword);
+        egovPasswordEncoder.setAlgorithm("SHA-256");
+        egovARIACryptoServiceImpl.setPasswordEncoder(egovPasswordEncoder);
+        egovARIACryptoServiceImpl.setBlockSize(1025);
+        
+        byte[] encrypted = egovARIACryptoServiceImpl.encrypt(data.getBytes(), key);
+        return encrypted;
+    }
+    
+    //복호화
+    public byte[] decryptedData(String data){
+        
+        EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();
+        EgovARIACryptoServiceImpl egovARIACryptoServiceImpl = new EgovARIACryptoServiceImpl();
+        
+        String key = propertyService.getString("crypto.hashed.password");
+        String hasedPassword = egovPasswordEncoder.encryptPassword(key);
+        egovPasswordEncoder.setHashedPassword(hasedPassword);
+        egovPasswordEncoder.setAlgorithm("SHA-256");
+        egovARIACryptoServiceImpl.setPasswordEncoder(egovPasswordEncoder);
+        egovARIACryptoServiceImpl.setBlockSize(1025);
+        
+        byte[] decrypted = egovARIACryptoServiceImpl.decrypt(Base64.decodeBase64(data.getBytes()), key);
+        return decrypted;
+    }
+    
+    
+}
base/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java
--- base/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java
+++ base/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java
@@ -1,83 +1,83 @@
-package egovframework.com.cmm.util;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Utility class  to support to logging information
- * @author Vincent Han
- * @since 2014.09.18
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일        수정자       수정내용
- *  -------       --------    ---------------------------
- *   2014.09.18	표준프레임워크센터	최초 생성
- *
- * </pre>
- */
-public class EgovBasicLogger {
-	private static final Level IGNORE_INFO_LEVEL = Level.OFF;
-	private static final Level DEBUG_INFO_LEVEL = Level.FINEST;
-	private static final Level INFO_INFO_LEVEL = Level.INFO;
-	
-	private static final Logger ignoreLogger = Logger.getLogger("ignore");
-	private static final Logger debugLogger = Logger.getLogger("debug");
-	private static final Logger infoLogger = Logger.getLogger("info");
-	
-	/**
-	 * 기록이나 처리가 불필요한 경우 사용.
-	 * @param message
-	 * @param exception
-	 */
-	public static void ignore(String message, Exception exception) {
-		if (exception == null) {
-			ignoreLogger.log(IGNORE_INFO_LEVEL, message);
-		} else {
-			ignoreLogger.log(IGNORE_INFO_LEVEL, message, exception);
-		}
-	}
-	
-	/**
-	 * 기록이나 처리가 불필요한 경우 사용.
-	 * @param message
-	 * @param exception
-	 */
-	public static void ignore(String message) {
-		ignore(message, null);
-	}
-	
-	/**
-	 * 디버그 정보를 기록하는 경우 사용.
-	 * @param message
-	 * @param exception
-	 */
-	public static void debug(String message, Exception exception) {
-		if (exception == null) {
-			debugLogger.log(DEBUG_INFO_LEVEL, message);
-		} else {
-			debugLogger.log(DEBUG_INFO_LEVEL, message, exception);
-		}
-	}
-	
-	/**
-	 * 디버그 정보를 기록하는 경우 사용.
-	 * @param message
-	 * @param exception
-	 */
-	public static void debug(String message) {
-		debug(message, null);
-	}
-	
-	/**
-	 * 일반적이 정보를 기록하는 경우 사용.
-	 * @param message
-	 * @param exception
-	 */
-	public static void info(String message) {
-		infoLogger.log(INFO_INFO_LEVEL, message);
-	}
-}
+package egovframework.com.cmm.util;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Utility class  to support to logging information
+ * @author Vincent Han
+ * @since 2014.09.18
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일        수정자       수정내용
+ *  -------       --------    ---------------------------
+ *   2014.09.18	표준프레임워크센터	최초 생성
+ *
+ * </pre>
+ */
+public class EgovBasicLogger {
+	private static final Level IGNORE_INFO_LEVEL = Level.OFF;
+	private static final Level DEBUG_INFO_LEVEL = Level.FINEST;
+	private static final Level INFO_INFO_LEVEL = Level.INFO;
+	
+	private static final Logger ignoreLogger = Logger.getLogger("ignore");
+	private static final Logger debugLogger = Logger.getLogger("debug");
+	private static final Logger infoLogger = Logger.getLogger("info");
+	
+	/**
+	 * 기록이나 처리가 불필요한 경우 사용.
+	 * @param message
+	 * @param exception
+	 */
+	public static void ignore(String message, Exception exception) {
+		if (exception == null) {
+			ignoreLogger.log(IGNORE_INFO_LEVEL, message);
+		} else {
+			ignoreLogger.log(IGNORE_INFO_LEVEL, message, exception);
+		}
+	}
+	
+	/**
+	 * 기록이나 처리가 불필요한 경우 사용.
+	 * @param message
+	 * @param exception
+	 */
+	public static void ignore(String message) {
+		ignore(message, null);
+	}
+	
+	/**
+	 * 디버그 정보를 기록하는 경우 사용.
+	 * @param message
+	 * @param exception
+	 */
+	public static void debug(String message, Exception exception) {
+		if (exception == null) {
+			debugLogger.log(DEBUG_INFO_LEVEL, message);
+		} else {
+			debugLogger.log(DEBUG_INFO_LEVEL, message, exception);
+		}
+	}
+	
+	/**
+	 * 디버그 정보를 기록하는 경우 사용.
+	 * @param message
+	 * @param exception
+	 */
+	public static void debug(String message) {
+		debug(message, null);
+	}
+	
+	/**
+	 * 일반적이 정보를 기록하는 경우 사용.
+	 * @param message
+	 * @param exception
+	 */
+	public static void info(String message) {
+		infoLogger.log(INFO_INFO_LEVEL, message);
+	}
+}
base/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java
--- base/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java
+++ base/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java
@@ -1,80 +1,80 @@
-package egovframework.com.cmm.util;
-
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-/**
- * Utility class  to support to double submit preventer
- * @author Vincent Han
- * @since 2014.08.07
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일        수정자       수정내용
- *  -------       --------    ---------------------------
- *   2014.08.07	표준프레임워크센터	최초 생성
- *
- * </pre>
- */
-public class EgovDoubleSubmitHelper {
-	private static final Logger LOGGER = LoggerFactory.getLogger(EgovDoubleSubmitHelper.class);
-		
-	public final static String SESSION_TOKEN_KEY = "egovframework.double.submit.preventer.session.key";
-	
-	public final static String PARAMETER_NAME = "egovframework.double.submit.preventer.parameter.name";
-	
-	public final static String DEFAULT_TOKEN_KEY = "DEFAULT";
-	
-	public static String getNewUUID() {
-		return UUID.randomUUID().toString().toUpperCase();
-	}
-	
-	public static boolean checkAndSaveToken() {
-		return checkAndSaveToken(DEFAULT_TOKEN_KEY);
-	}
-	
-	public static boolean checkAndSaveToken(String tokenKey) {
-		
-		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
-		HttpSession session = request.getSession();
-		
-		// check session...
-		if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
-			throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP.");
-		}
-
-		String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME);
-		
-		// check parameter
-		if (parameter == null) {
-			throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP.");
-		}
-		
-		@SuppressWarnings("unchecked")
-		Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
-		
-		if (parameter.equals(map.get(tokenKey))) {
-			
-			LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey);
-			
-			map.put(tokenKey, getNewUUID());
-			
-			return true;
-		}
-
-		LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey);
-		
-		return false;
-	}
-}
+package egovframework.com.cmm.util;
+
+import java.util.Map;
+import java.util.UUID;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+/**
+ * Utility class  to support to double submit preventer
+ * @author Vincent Han
+ * @since 2014.08.07
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일        수정자       수정내용
+ *  -------       --------    ---------------------------
+ *   2014.08.07	표준프레임워크센터	최초 생성
+ *
+ * </pre>
+ */
+public class EgovDoubleSubmitHelper {
+	private static final Logger LOGGER = LoggerFactory.getLogger(EgovDoubleSubmitHelper.class);
+		
+	public final static String SESSION_TOKEN_KEY = "egovframework.double.submit.preventer.session.key";
+	
+	public final static String PARAMETER_NAME = "egovframework.double.submit.preventer.parameter.name";
+	
+	public final static String DEFAULT_TOKEN_KEY = "DEFAULT";
+	
+	public static String getNewUUID() {
+		return UUID.randomUUID().toString().toUpperCase();
+	}
+	
+	public static boolean checkAndSaveToken() {
+		return checkAndSaveToken(DEFAULT_TOKEN_KEY);
+	}
+	
+	public static boolean checkAndSaveToken(String tokenKey) {
+		
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+		HttpSession session = request.getSession();
+		
+		// check session...
+		if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
+			throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP.");
+		}
+
+		String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME);
+		
+		// check parameter
+		if (parameter == null) {
+			throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP.");
+		}
+		
+		@SuppressWarnings("unchecked")
+		Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
+		
+		if (parameter.equals(map.get(tokenKey))) {
+			
+			LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey);
+			
+			map.put(tokenKey, getNewUUID());
+			
+			return true;
+		}
+
+		LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey);
+		
+		return false;
+	}
+}
base/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java
--- base/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java
+++ base/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java
@@ -1,128 +1,128 @@
-package egovframework.com.cmm.util;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.Wrapper;
-
-/**
- * Utility class  to support to close resources
- * @author Vincent Han
- * @since 2014.09.18
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일        수정자       수정내용
- *  -------       --------    ---------------------------
- *   2014.09.18	표준프레임워크센터	최초 생성
- *
- * </pre>
- */
-public class EgovResourceCloseHelper {
-	/**
-	 * Resource close 처리.
-	 * @param resources
-	 */
-	public static void close(Closeable  ... resources) {
-		for (Closeable resource : resources) {
-			if (resource != null) {
-				try {
-					resource.close();
-				} catch (IOException ignore) {
-					EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
-				}
-			}
-		}
-	}
-	
-	/**
-	 * JDBC 관련 resource 객체 close 처리
-	 * @param objects
-	 */
-	public static void closeDBObjects(Wrapper ... objects) {
-		for (Object object : objects) {
-			if (object != null) {
-				if (object instanceof ResultSet) {
-					try {
-						((ResultSet)object).close();
-					} catch (SQLException ignore) {
-						EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
-					}
-				} else if (object instanceof Statement) {
-					try {
-						((Statement)object).close();
-					} catch (SQLException ignore) {
-						EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
-					}
-				} else if (object instanceof Connection) {
-					try {
-						((Connection)object).close();
-					} catch (SQLException ignore) {
-						EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
-					}
-				} else {
-					throw new IllegalArgumentException("Wrapper type is not found : " + object.toString());
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Socket 관련 resource 객체 close 처리
-	 * @param objects
-	 */
-	public static void closeSocketObjects(Socket socket, ServerSocket server) {
-		if (socket != null) {
-			try {
-				socket.shutdownOutput();
-			} catch (IOException ignore) {
-				EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!");
-			}
-			
-			try {
-				socket.close();
-			} catch (IOException ignore) {
-				EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
-			}
-		}
-		
-		if (server != null) {
-			try {
-				server.close();
-			} catch (IOException ignore) {
-				EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
-			}
-		}
-	}
-	
-	/**
-	 *  Socket 관련 resource 객체 close 처리
-	 *  
-	 * @param sockets
-	 */
-	public static void closeSockets(Socket ... sockets) {
-		for (Socket socket : sockets) {
-			if (socket != null) {
-				try {
-					socket.shutdownOutput();
-				} catch (IOException ignore) {
-					EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!");
-				}
-				
-				try {
-					socket.close();
-				} catch (IOException ignore) {
-					EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
-				}
-			}
-		}
-	}
+package egovframework.com.cmm.util;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.Wrapper;
+
+/**
+ * Utility class  to support to close resources
+ * @author Vincent Han
+ * @since 2014.09.18
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일        수정자       수정내용
+ *  -------       --------    ---------------------------
+ *   2014.09.18	표준프레임워크센터	최초 생성
+ *
+ * </pre>
+ */
+public class EgovResourceCloseHelper {
+	/**
+	 * Resource close 처리.
+	 * @param resources
+	 */
+	public static void close(Closeable  ... resources) {
+		for (Closeable resource : resources) {
+			if (resource != null) {
+				try {
+					resource.close();
+				} catch (IOException ignore) {
+					EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
+				}
+			}
+		}
+	}
+	
+	/**
+	 * JDBC 관련 resource 객체 close 처리
+	 * @param objects
+	 */
+	public static void closeDBObjects(Wrapper ... objects) {
+		for (Object object : objects) {
+			if (object != null) {
+				if (object instanceof ResultSet) {
+					try {
+						((ResultSet)object).close();
+					} catch (SQLException ignore) {
+						EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
+					}
+				} else if (object instanceof Statement) {
+					try {
+						((Statement)object).close();
+					} catch (SQLException ignore) {
+						EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
+					}
+				} else if (object instanceof Connection) {
+					try {
+						((Connection)object).close();
+					} catch (SQLException ignore) {
+						EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
+					}
+				} else {
+					throw new IllegalArgumentException("Wrapper type is not found : " + object.toString());
+				}
+			}
+		}
+	}
+	
+	/**
+	 * Socket 관련 resource 객체 close 처리
+	 * @param objects
+	 */
+	public static void closeSocketObjects(Socket socket, ServerSocket server) {
+		if (socket != null) {
+			try {
+				socket.shutdownOutput();
+			} catch (IOException ignore) {
+				EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!");
+			}
+			
+			try {
+				socket.close();
+			} catch (IOException ignore) {
+				EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
+			}
+		}
+		
+		if (server != null) {
+			try {
+				server.close();
+			} catch (IOException ignore) {
+				EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
+			}
+		}
+	}
+	
+	/**
+	 *  Socket 관련 resource 객체 close 처리
+	 *  
+	 * @param sockets
+	 */
+	public static void closeSockets(Socket ... sockets) {
+		for (Socket socket : sockets) {
+			if (socket != null) {
+				try {
+					socket.shutdownOutput();
+				} catch (IOException ignore) {
+					EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!");
+				}
+				
+				try {
+					socket.close();
+				} catch (IOException ignore) {
+					EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
+				}
+			}
+		}
+	}
 }
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/com/cmm/util/EgovWebUtil.java
--- base/src/main/java/egovframework/com/cmm/util/EgovWebUtil.java
+++ base/src/main/java/egovframework/com/cmm/util/EgovWebUtil.java
@@ -1,109 +1,109 @@
-package egovframework.com.cmm.util;
-
-import java.util.regex.Pattern;
-
-/**
- * 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체)
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    	--------    ---------------------------
- *   2011.10.10  한성곤          최초 생성
- *
- * </pre>
- */
-
-public class EgovWebUtil {
-	public static String clearXSSMinimum(String value) {
-		if (value == null || value.trim().equals("")) {
-			return "";
-		}
-
-		String returnValue = value;
-
-		returnValue = returnValue.replaceAll("&", "&amp;");
-		returnValue = returnValue.replaceAll("<", "&lt;");
-		returnValue = returnValue.replaceAll(">", "&gt;");
-		returnValue = returnValue.replaceAll("\"", "&#34;");
-		returnValue = returnValue.replaceAll("\'", "&#39;");
-		returnValue = returnValue.replaceAll(".", "&#46;");
-		returnValue = returnValue.replaceAll("%2E", "&#46;");
-		returnValue = returnValue.replaceAll("%2F", "&#47;");
-		return returnValue;
-	}
-
-	public static String clearXSSMaximum(String value) {
-		String returnValue = value;
-		returnValue = clearXSSMinimum(returnValue);
-
-		returnValue = returnValue.replaceAll("%00", null);
-
-		returnValue = returnValue.replaceAll("%", "&#37;");
-
-		// \\. => .
-
-		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
-		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
-		returnValue = returnValue.replaceAll("\\./", ""); // ./
-		returnValue = returnValue.replaceAll("%2F", "");
-
-		return returnValue;
-	}
-
-	public static String filePathBlackList(String value) {
-		String returnValue = value;
-		if (returnValue == null || returnValue.trim().equals("")) {
-			return "";
-		}
-
-		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
-		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
-
-		return returnValue;
-	}
-
-	/**
-	 * 행안부 보안취약점 점검 조치 방안.
-	 *
-	 * @param value
-	 * @return
-	 */
-	public static String filePathReplaceAll(String value) {
-		String returnValue = value;
-		if (returnValue == null || returnValue.trim().equals("")) {
-			return "";
-		}
-
-		returnValue = returnValue.replaceAll("/", "");
-		returnValue = returnValue.replaceAll("\\", "");
-		returnValue = returnValue.replaceAll("\\.\\.", ""); // ..
-		returnValue = returnValue.replaceAll("&", "");
-
-		return returnValue;
-	}
-
-	public static String filePathWhiteList(String value) {
-		return value;
-	}
-
-	 public static boolean isIPAddress(String str) {
-		Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
-
-		return ipPattern.matcher(str).matches();
-    }
-
-	 public static String removeCRLF(String parameter) {
-		 return parameter.replaceAll("\r", "").replaceAll("\n", "");
-	 }
-
-	 public static String removeSQLInjectionRisk(String parameter) {
-		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", "");
-	 }
-
-	 public static String removeOSCmdRisk(String parameter) {
-		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", "");
-	 }
-
+package egovframework.com.cmm.util;
+
+import java.util.regex.Pattern;
+
+/**
+ * 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체)
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    	--------    ---------------------------
+ *   2011.10.10  한성곤          최초 생성
+ *
+ * </pre>
+ */
+
+public class EgovWebUtil {
+	public static String clearXSSMinimum(String value) {
+		if (value == null || value.trim().equals("")) {
+			return "";
+		}
+
+		String returnValue = value;
+
+		returnValue = returnValue.replaceAll("&", "&amp;");
+		returnValue = returnValue.replaceAll("<", "&lt;");
+		returnValue = returnValue.replaceAll(">", "&gt;");
+		returnValue = returnValue.replaceAll("\"", "&#34;");
+		returnValue = returnValue.replaceAll("\'", "&#39;");
+		returnValue = returnValue.replaceAll(".", "&#46;");
+		returnValue = returnValue.replaceAll("%2E", "&#46;");
+		returnValue = returnValue.replaceAll("%2F", "&#47;");
+		return returnValue;
+	}
+
+	public static String clearXSSMaximum(String value) {
+		String returnValue = value;
+		returnValue = clearXSSMinimum(returnValue);
+
+		returnValue = returnValue.replaceAll("%00", null);
+
+		returnValue = returnValue.replaceAll("%", "&#37;");
+
+		// \\. => .
+
+		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
+		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
+		returnValue = returnValue.replaceAll("\\./", ""); // ./
+		returnValue = returnValue.replaceAll("%2F", "");
+
+		return returnValue;
+	}
+
+	public static String filePathBlackList(String value) {
+		String returnValue = value;
+		if (returnValue == null || returnValue.trim().equals("")) {
+			return "";
+		}
+
+		returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
+		returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
+
+		return returnValue;
+	}
+
+	/**
+	 * 행안부 보안취약점 점검 조치 방안.
+	 *
+	 * @param value
+	 * @return
+	 */
+	public static String filePathReplaceAll(String value) {
+		String returnValue = value;
+		if (returnValue == null || returnValue.trim().equals("")) {
+			return "";
+		}
+
+		returnValue = returnValue.replaceAll("/", "");
+		returnValue = returnValue.replaceAll("\\", "");
+		returnValue = returnValue.replaceAll("\\.\\.", ""); // ..
+		returnValue = returnValue.replaceAll("&", "");
+
+		return returnValue;
+	}
+
+	public static String filePathWhiteList(String value) {
+		return value;
+	}
+
+	 public static boolean isIPAddress(String str) {
+		Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
+
+		return ipPattern.matcher(str).matches();
+    }
+
+	 public static String removeCRLF(String parameter) {
+		 return parameter.replaceAll("\r", "").replaceAll("\n", "");
+	 }
+
+	 public static String removeSQLInjectionRisk(String parameter) {
+		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", "");
+	 }
+
+	 public static String removeOSCmdRisk(String parameter) {
+		 return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", "");
+	 }
+
 }
(파일 끝에 줄바꿈 문자 없음)
 
base/src/main/java/egovframework/com/cmm/view/AbstractPoiExcelView.java (added)
+++ base/src/main/java/egovframework/com/cmm/view/AbstractPoiExcelView.java
@@ -0,0 +1,61 @@
+package egovframework.com.cmm.view;
+
+import java.util.Map;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.springframework.web.servlet.view.AbstractView;
+
+/**
+ * POI 기반 엑셀 뷰 공통 처리
+ */
+public abstract class AbstractPoiExcelView extends AbstractView {
+
+    public static final String DEFAULT_CONTENT_TYPE = "application/vnd.ms-excel";
+
+    protected AbstractPoiExcelView() {
+        setContentType(DEFAULT_CONTENT_TYPE);
+    }
+
+    @Override
+    protected boolean generatesDownloadContent() {
+        return true;
+    }
+
+    @Override
+    protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
+                                           HttpServletResponse response) throws Exception {
+        response.setContentType(getContentType());
+
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        buildExcelDocument(model, workbook, request, response);
+        if (!response.containsHeader("Content-Disposition")) {
+            response.setHeader("Content-Disposition", "attachment; filename=\"export.xls\"");
+        }
+        workbook.write(response.getOutputStream());
+    }
+
+    protected abstract void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook,
+                                               HttpServletRequest request, HttpServletResponse response) throws Exception;
+
+    protected HSSFCell getCell(HSSFSheet sheet, int row, int col) {
+        HSSFRow rowObj = sheet.getRow(row);
+        if (rowObj == null) {
+            rowObj = sheet.createRow(row);
+        }
+        HSSFCell cell = rowObj.getCell(col);
+        if (cell == null) {
+            cell = rowObj.createCell(col);
+        }
+        return cell;
+    }
+
+    protected void setText(HSSFCell cell, String text) {
+        cell.setCellValue(text);
+    }
+}
base/src/main/java/egovframework/com/cmm/view/ExcelView.java
--- base/src/main/java/egovframework/com/cmm/view/ExcelView.java
+++ base/src/main/java/egovframework/com/cmm/view/ExcelView.java
@@ -1,238 +1,237 @@
-package egovframework.com.cmm.view;
-
-import org.apache.poi.hssf.usermodel.HSSFCellStyle;
-import org.apache.poi.hssf.usermodel.HSSFFont;
-import org.apache.poi.hssf.util.HSSFColor;
-import org.springframework.web.servlet.view.document.AbstractExcelView;
-
-/**
- * <pre>
- * Class Name  : ExcelView.java
- * Description : 엑셀 뷰 부모 클래스 
- * Modification Information  
- * 
- *    수정일        수정자        수정내용
- *    ────────────   ─────────   ───────────────────────────────
- *    2011. 1. 29.   이상훈              최초생성
- * </pre>
- *
- * @author 이상훈
- * @since 2011. 1. 29.
- * @version 1.0
- * 
- */
-public abstract class ExcelView extends AbstractExcelView {
-    protected HSSFCellStyle documentTitleStyle;
-    protected HSSFCellStyle titleStyle;
-    protected HSSFCellStyle titleTextStyle;
-    protected HSSFCellStyle columnTextStyle;
-    protected HSSFCellStyle columnTextCenterStyle;
-    protected HSSFCellStyle columnTextRightStyle;
-    
-    /**
-     * getStyleDocumentTitle
-     * 
-     * @param paramMap
-     * @return
-     * @throws Exception
-     * @author 
-     */
-    protected HSSFCellStyle getStyleDocumentTitle(HSSFCellStyle cellStyle, HSSFFont font) {
-        font.setFontName("맑은 고딕");
-        font.setFontHeightInPoints((short)20);
-        font.setColor((short) HSSFColor.BLACK.index);
-        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
-           
-           cellStyle.setFont(font);
-           cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
-
-        //set border style
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
-           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
-        //set color
-           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
-
-           cellStyle.setLocked(true);
-           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
-
-        return cellStyle;
-    }
-    
-    /**
-     * getStyleTitle
-     * 
-     * @param paramMap
-     * @return
-     * @throws Exception
-     * @author 
-     */
-    protected HSSFCellStyle getStyleTitle(HSSFCellStyle cellStyle, HSSFFont font) {
-        font.setFontName("맑은 고딕");
-        font.setFontHeightInPoints((short)12);
-        font.setColor((short) HSSFColor.BLACK.index);
-           font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
-           
-           cellStyle.setFont(font);
-           cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
-
-        //set border style
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
-           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
-        //set color
-           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillForegroundColor((short) HSSFColor.GREY_25_PERCENT.index);
-           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
-
-           cellStyle.setLocked(true);
-           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
-
-        return cellStyle;
-    }
-
-    /**
-     * getStyleTitleText
-     * 
-     * @param paramMap
-     * @return
-     * @throws Exception
-     * @author 
-     */
-    protected HSSFCellStyle getStyleTitleText(HSSFCellStyle cellStyle, HSSFFont font) {
-        font.setFontName("맑은 고딕");
-        font.setFontHeightInPoints((short)12);
-        font.setColor((short) HSSFColor.BLACK.index);
-           
-           cellStyle.setFont(font);
-           cellStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
-
-        //set border style
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
-           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
-        //set color
-           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
-
-           cellStyle.setLocked(true);
-           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
-
-        return cellStyle;
-    }
-
-    /**
-     * getStyleColumnText
-     * 
-     * @param paramMap
-     * @return
-     * @throws Exception
-     * @author 
-     */
-    protected HSSFCellStyle getStyleColumnText(HSSFCellStyle cellStyle, HSSFFont font) {
-        font.setFontName("맑은 고딕");
-        font.setFontHeightInPoints((short)9);
-        font.setColor((short) HSSFColor.BLACK.index);
-           
-           cellStyle.setFont(font);
-           cellStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
-
-        //set border style
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
-           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
-        //set color
-           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
-
-           cellStyle.setLocked(true);
-           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
-           //개행적용
-           cellStyle.setWrapText(true);
-        return cellStyle;
-    }
-    
-    /**
-     * getStyleColumnTextCenter
-     * 
-     * @param paramMap
-     * @return
-     * @throws Exception
-     * @author 
-     */
-    protected HSSFCellStyle getStyleColumnTextCenter(HSSFCellStyle cellStyle, HSSFFont font) {
-        font.setFontName("맑은 고딕");
-        font.setFontHeightInPoints((short)9);
-        font.setColor((short) HSSFColor.BLACK.index);
-           
-           cellStyle.setFont(font);
-           cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
-
-        //set border style
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
-           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
-        //set color
-           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
-
-           cellStyle.setLocked(true);
-           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
-
-        return cellStyle;
-    }
-    
-    /**
-     * getStyleColumnTextRight
-     * 
-     * @param paramMap
-     * @return
-     * @throws Exception
-     * @author 
-     */
-    protected HSSFCellStyle getStyleColumnTextRight(HSSFCellStyle cellStyle, HSSFFont font) {
-        font.setFontName("맑은 고딕");
-        font.setFontHeightInPoints((short)9);
-        font.setColor((short) HSSFColor.BLACK.index);
-           
-           cellStyle.setFont(font);
-           cellStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
-
-        //set border style
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
-           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
-           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
-        //set color
-           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
-           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
-
-           cellStyle.setLocked(true);
-           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
-
-        return cellStyle;
-    }
-}
+package egovframework.com.cmm.view;
+
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.util.HSSFColor;
+
+/**
+ * <pre>
+ * Class Name  : ExcelView.java
+ * Description : 엑셀 뷰 부모 클래스 
+ * Modification Information  
+ * 
+ *    수정일        수정자        수정내용
+ *    ────────────   ─────────   ───────────────────────────────
+ *    2011. 1. 29.   이상훈              최초생성
+ * </pre>
+ *
+ * @author 이상훈
+ * @since 2011. 1. 29.
+ * @version 1.0
+ * 
+ */
+public abstract class ExcelView extends AbstractPoiExcelView {
+    protected HSSFCellStyle documentTitleStyle;
+    protected HSSFCellStyle titleStyle;
+    protected HSSFCellStyle titleTextStyle;
+    protected HSSFCellStyle columnTextStyle;
+    protected HSSFCellStyle columnTextCenterStyle;
+    protected HSSFCellStyle columnTextRightStyle;
+    
+    /**
+     * getStyleDocumentTitle
+     * 
+     * @param paramMap
+     * @return
+     * @throws Exception
+     * @author 
+     */
+    protected HSSFCellStyle getStyleDocumentTitle(HSSFCellStyle cellStyle, HSSFFont font) {
+        font.setFontName("맑은 고딕");
+        font.setFontHeightInPoints((short)20);
+        font.setColor((short) HSSFColor.BLACK.index);
+        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
+           
+           cellStyle.setFont(font);
+           cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+
+        //set border style
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
+           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        //set color
+           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+           cellStyle.setLocked(true);
+           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+
+        return cellStyle;
+    }
+    
+    /**
+     * getStyleTitle
+     * 
+     * @param paramMap
+     * @return
+     * @throws Exception
+     * @author 
+     */
+    protected HSSFCellStyle getStyleTitle(HSSFCellStyle cellStyle, HSSFFont font) {
+        font.setFontName("맑은 고딕");
+        font.setFontHeightInPoints((short)12);
+        font.setColor((short) HSSFColor.BLACK.index);
+           font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
+           
+           cellStyle.setFont(font);
+           cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+
+        //set border style
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
+           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        //set color
+           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillForegroundColor((short) HSSFColor.GREY_25_PERCENT.index);
+           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+           cellStyle.setLocked(true);
+           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+
+        return cellStyle;
+    }
+
+    /**
+     * getStyleTitleText
+     * 
+     * @param paramMap
+     * @return
+     * @throws Exception
+     * @author 
+     */
+    protected HSSFCellStyle getStyleTitleText(HSSFCellStyle cellStyle, HSSFFont font) {
+        font.setFontName("맑은 고딕");
+        font.setFontHeightInPoints((short)12);
+        font.setColor((short) HSSFColor.BLACK.index);
+           
+           cellStyle.setFont(font);
+           cellStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
+
+        //set border style
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
+           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        //set color
+           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+           cellStyle.setLocked(true);
+           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+
+        return cellStyle;
+    }
+
+    /**
+     * getStyleColumnText
+     * 
+     * @param paramMap
+     * @return
+     * @throws Exception
+     * @author 
+     */
+    protected HSSFCellStyle getStyleColumnText(HSSFCellStyle cellStyle, HSSFFont font) {
+        font.setFontName("맑은 고딕");
+        font.setFontHeightInPoints((short)9);
+        font.setColor((short) HSSFColor.BLACK.index);
+           
+           cellStyle.setFont(font);
+           cellStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
+
+        //set border style
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
+           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        //set color
+           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+           cellStyle.setLocked(true);
+           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+           //개행적용
+           cellStyle.setWrapText(true);
+        return cellStyle;
+    }
+    
+    /**
+     * getStyleColumnTextCenter
+     * 
+     * @param paramMap
+     * @return
+     * @throws Exception
+     * @author 
+     */
+    protected HSSFCellStyle getStyleColumnTextCenter(HSSFCellStyle cellStyle, HSSFFont font) {
+        font.setFontName("맑은 고딕");
+        font.setFontHeightInPoints((short)9);
+        font.setColor((short) HSSFColor.BLACK.index);
+           
+           cellStyle.setFont(font);
+           cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+
+        //set border style
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
+           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        //set color
+           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+           cellStyle.setLocked(true);
+           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+
+        return cellStyle;
+    }
+    
+    /**
+     * getStyleColumnTextRight
+     * 
+     * @param paramMap
+     * @return
+     * @throws Exception
+     * @author 
+     */
+    protected HSSFCellStyle getStyleColumnTextRight(HSSFCellStyle cellStyle, HSSFFont font) {
+        font.setFontName("맑은 고딕");
+        font.setFontHeightInPoints((short)9);
+        font.setColor((short) HSSFColor.BLACK.index);
+           
+           cellStyle.setFont(font);
+           cellStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
+
+        //set border style
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
+           cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
+           cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        //set color
+           cellStyle.setFillBackgroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillForegroundColor((short) HSSFColor.WHITE.index);
+           cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+           cellStyle.setLocked(true);
+           cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+
+        return cellStyle;
+    }
+}
base/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java
--- base/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java
+++ base/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java
@@ -1,23 +1,22 @@
-package egovframework.com.cmm.web;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-
-import org.springframework.beans.propertyeditors.CustomDateEditor;
-import org.springframework.beans.propertyeditors.StringTrimmerEditor;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.support.WebBindingInitializer;
-import org.springframework.web.context.request.WebRequest;
-
-public class EgovBindingInitializer implements WebBindingInitializer {
-
-
-	public void initBinder(WebDataBinder binder, WebRequest request) {
-		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.ENGLISH);
-		dateFormat.setLenient(false);
-		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
-		binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));
-	}
-
-}
+package egovframework.com.cmm.web;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import org.springframework.beans.propertyeditors.CustomDateEditor;
+import org.springframework.beans.propertyeditors.StringTrimmerEditor;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.support.WebBindingInitializer;
+
+public class EgovBindingInitializer implements WebBindingInitializer {
+
+
+	public void initBinder(WebDataBinder binder) {
+		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.ENGLISH);
+		dateFormat.setLenient(false);
+		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
+		binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));
+	}
+
+}
base/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java
--- base/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java
+++ base/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java
@@ -1,81 +1,81 @@
-package egovframework.com.cmm.web;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import egovframework.module.utl.cas.service.EgovSessionCookieUtil;
-
-import egovframework.rte.fdl.property.EgovPropertyService;
-
-/**
- * @Class Name : EgovComUtlController.java
- * @Description : 공통유틸리티성 작업을 위한 Controller
- * @Modification Information
- * @
- * @  수정일         수정자                   수정내용
- * @ -------    --------    ---------------------------
- * @ 2009.03.02    조재영          최초 생성
- *
- *  @author 공통서비스 개발팀 조재영
- *  @since 2009.03.02
- *  @version 1.0
- *  @see
- *  
- */
-@Controller
-public class EgovComUtlController {
-
-    /**
-	 * EgovPropertyService
-	 * @uml.property  name="propertiesService"
-	 * @uml.associationEnd  readOnly="true"
-	 */
-    @Resource(name = "propertiesService")
-    protected EgovPropertyService propertiesService;
-    
-    /**
-	 * JSP 호출작업만 처리하는 공통 함수
-	 */
-	@RequestMapping(value="/EgovPageLink.do")
-	public String moveToPage(@RequestParam("link") String linkPage){
-		String link = linkPage;
-		// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
-		if (linkPage==null || linkPage.equals("")){
-			link="cmm/egovError";
-		}
-		return link;
-	}
-
-    /**
-	 * JSP 호출작업만 처리하는 공통 함수
-	 */
-	@RequestMapping(value="/EgovPageLink.action")
-	public String moveToPage_action(@RequestParam("link") String linkPage){
-		String link = linkPage;
-		// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
-		if (linkPage==null || linkPage.equals("")){
-			link="cmm/egovError";
-		}
-		return link;
-	}
-	
-    /**
-	 * validato rule dynamic Javascript
-	 */
-	@RequestMapping("/validator.do")
-	public String validate(){
-		return "cmm/validator";
-	}
-	
-	@RequestMapping(value = "/EgovSetCookie.do")
-	public void setCookie(@RequestParam("cookieNm") String cookieNm,@RequestParam("cookieVal") String cookieVal,
-			HttpServletResponse response,HttpServletRequest request) throws Exception {
-		EgovSessionCookieUtil.setCookie(response, cookieNm, cookieVal);
-	}
-
+package egovframework.com.cmm.web;
+
+import javax.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import egovframework.module.utl.cas.service.EgovSessionCookieUtil;
+
+import egovframework.rte.fdl.property.EgovPropertyService;
+
+/**
+ * @Class Name : EgovComUtlController.java
+ * @Description : 공통유틸리티성 작업을 위한 Controller
+ * @Modification Information
+ * @
+ * @  수정일         수정자                   수정내용
+ * @ -------    --------    ---------------------------
+ * @ 2009.03.02    조재영          최초 생성
+ *
+ *  @author 공통서비스 개발팀 조재영
+ *  @since 2009.03.02
+ *  @version 1.0
+ *  @see
+ *  
+ */
+@Controller
+public class EgovComUtlController {
+
+    /**
+	 * EgovPropertyService
+	 * @uml.property  name="propertiesService"
+	 * @uml.associationEnd  readOnly="true"
+	 */
+    @Resource(name = "propertiesService")
+    protected EgovPropertyService propertiesService;
+    
+    /**
+	 * JSP 호출작업만 처리하는 공통 함수
+	 */
+	@RequestMapping(value="/EgovPageLink.do")
+	public String moveToPage(@RequestParam("link") String linkPage){
+		String link = linkPage;
+		// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
+		if (linkPage==null || linkPage.equals("")){
+			link="cmm/egovError";
+		}
+		return link;
+	}
+
+    /**
+	 * JSP 호출작업만 처리하는 공통 함수
+	 */
+	@RequestMapping(value="/EgovPageLink.action")
+	public String moveToPage_action(@RequestParam("link") String linkPage){
+		String link = linkPage;
+		// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
+		if (linkPage==null || linkPage.equals("")){
+			link="cmm/egovError";
+		}
+		return link;
+	}
+	
+    /**
+	 * validato rule dynamic Javascript
+	 */
+	@RequestMapping("/validator.do")
+	public String validate(){
+		return "cmm/validator";
+	}
+	
+	@RequestMapping(value = "/EgovSetCookie.do")
+	public void setCookie(@RequestParam("cookieNm") String cookieNm,@RequestParam("cookieVal") String cookieVal,
+			HttpServletResponse response,HttpServletRequest request) throws Exception {
+		EgovSessionCookieUtil.setCookie(response, cookieNm, cookieVal);
+	}
+
 }
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/com/cmm/web/EgovFileMngController2.java
--- base/src/main/java/egovframework/com/cmm/web/EgovFileMngController2.java
+++ base/src/main/java/egovframework/com/cmm/web/EgovFileMngController2.java
@@ -6,7 +6,7 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.ModelAttribute;
base/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java
--- base/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java
+++ base/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java
@@ -1,151 +1,151 @@
-package egovframework.com.cmm.web;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import net.coobird.thumbnailator.Thumbnails;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import egovframework.com.cmm.util.EgovWebUtil;
-import egovframework.module.utl.fcc.service.EgovNumberUtil;
-import egovframework.module.utl.fcc.service.EgovStringUtil;
-import egovframework.rte.fdl.property.EgovPropertyService;
-
-/**
- * @Class Name : EgovImageProcessController.java
- * @Description :
- * @Modification Information
- *
- *    수정일       수정자         수정내용
- *    -------        -------     -------------------
- *    2009. 4. 2.     이삼섭
- *
- * @author 공통 서비스 개발팀 이삼섭
- * @since 2009. 4. 2.
- * @version
- * @see
- *
- */
-@Controller
-public class EgovImageProcessController {
-
-    @Resource(name = "propertiesService")
-    protected EgovPropertyService propertiesService;
-
-    Logger log = Logger.getLogger(this.getClass());
-
-    /**
-     * 게시판의 첨부된 이미지에 대한(썸네일) 미리보기 기능을 제공한다.
-     *
-     * @param atchFileId
-     * @param fileSn
-     * @param sessionVO
-     * @param model
-     * @param response
-     * @throws Exception
-     */
-    @RequestMapping("/cmm/fms/getImage.do")
-    public void getImage(ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-
-	    String fileStorePath = EgovStringUtil.isEmpty(request.getParameter("fileStorePath")) ? "Board.fileStorePath" : request.getParameter("fileStorePath");
-    	String siteId = request.getParameter("siteId");
-		String appendPath = EgovWebUtil.filePathBlackList(request.getParameter("appendPath"));
-		String atchFileNm = EgovWebUtil.filePathBlackList(request.getParameter("atchFileNm"));
-		String thumbYn = request.getParameter("thumbYn");
-		String fileExt = "";
-	    int index = atchFileNm.lastIndexOf(".");
-	    if(index != -1) {
-	    	fileExt = atchFileNm.substring(index + 1);
-	    	atchFileNm = atchFileNm.substring(0, index);
-	    }
-
-	    String resFilePath = propertiesService.getString(fileStorePath) + "/" + siteId+ "/" + appendPath;
-	    File file = null;
-	    if("Y".equals(thumbYn)) {
-			String strWidth = request.getParameter("width");
-			String strHeight = request.getParameter("height");
-			int width = (EgovNumberUtil.getNumberValidCheck(strWidth)) ? EgovStringUtil.zeroConvert(strWidth) : propertiesService.getInt("photoThumbWidth");
-			int height = (EgovNumberUtil.getNumberValidCheck(strHeight)) ? EgovStringUtil.zeroConvert(strHeight) : propertiesService.getInt("photoThumbHeight");
-
-			file = new File(resFilePath, atchFileNm + "_THUMB." + fileExt);
-			if(!file.exists()) {
-				width = 500;
-				height = 500;
-				Thumbnails.of(new File(resFilePath, atchFileNm))
-					.size(width, height)
-					.toFile(file)
-					;
-			}
-	    } else {
-	    	file = new File(resFilePath, atchFileNm);
-	    }
-
-	    if(file.exists()) {
-			FileInputStream fis = null;
-			BufferedInputStream in = null;
-			ByteArrayOutputStream bStream = null;
-
-			try {
-
-				fis = new FileInputStream(file);
-				in = new BufferedInputStream(fis);
-				bStream = new ByteArrayOutputStream();
-
-				int imgByte;
-				while ((imgByte = in.read()) != -1) {
-				    bStream.write(imgByte);
-				}
-
-				String type = "";
-
-				if (fileExt != null && !"".equals(fileExt)) {
-				    if ("jpg".equals(EgovStringUtil.lowerCase(fileExt))) {
-					type = "image/jpeg";
-				    } else {
-					type = "image/" + EgovStringUtil.lowerCase(fileExt);
-				    }
-
-				} else {
-				    log.debug("Image fileType is null.");
-				}
-
-				response.setHeader("Content-Type", type);
-				response.setContentLength(bStream.size());
-
-				bStream.writeTo(response.getOutputStream());
-
-				response.getOutputStream().flush();
-			} catch (FileNotFoundException fnfe) {
-				log.debug("/cmm/fms/getImage.do -- stream error : " + atchFileNm);
-			} catch (IOException ioe) {
-				log.debug("/cmm/fms/getImage.do -- stream error : " + atchFileNm);
-			} catch(Exception e) {
-				log.debug("/cmm/fms/getImage.do -- stream error : " + atchFileNm);
-			} finally {
-				try {response.getOutputStream().close();}catch(Exception ex){log.info(ex);}
-				if(bStream != null) {
-					try {bStream.close();}catch(IOException ex){log.info(ex);}
-				}
-				if(in != null) {
-					try {in.close();}catch(IOException ex){log.info(ex);}
-				}
-				if(fis != null) {
-					try {fis.close();}catch(IOException ex){log.info(ex);}
-				}
-			}
-	    }
-    }
-
-}
+package egovframework.com.cmm.web;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+import net.coobird.thumbnailator.Thumbnails;
+
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import egovframework.com.cmm.util.EgovWebUtil;
+import egovframework.module.utl.fcc.service.EgovNumberUtil;
+import egovframework.module.utl.fcc.service.EgovStringUtil;
+import egovframework.rte.fdl.property.EgovPropertyService;
+
+/**
+ * @Class Name : EgovImageProcessController.java
+ * @Description :
+ * @Modification Information
+ *
+ *    수정일       수정자         수정내용
+ *    -------        -------     -------------------
+ *    2009. 4. 2.     이삼섭
+ *
+ * @author 공통 서비스 개발팀 이삼섭
+ * @since 2009. 4. 2.
+ * @version
+ * @see
+ *
+ */
+@Controller
+public class EgovImageProcessController {
+
+    @Resource(name = "propertiesService")
+    protected EgovPropertyService propertiesService;
+
+    Logger log = Logger.getLogger(this.getClass());
+
+    /**
+     * 게시판의 첨부된 이미지에 대한(썸네일) 미리보기 기능을 제공한다.
+     *
+     * @param atchFileId
+     * @param fileSn
+     * @param sessionVO
+     * @param model
+     * @param response
+     * @throws Exception
+     */
+    @RequestMapping("/cmm/fms/getImage.do")
+    public void getImage(ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+
+	    String fileStorePath = EgovStringUtil.isEmpty(request.getParameter("fileStorePath")) ? "Board.fileStorePath" : request.getParameter("fileStorePath");
+    	String siteId = request.getParameter("siteId");
+		String appendPath = EgovWebUtil.filePathBlackList(request.getParameter("appendPath"));
+		String atchFileNm = EgovWebUtil.filePathBlackList(request.getParameter("atchFileNm"));
+		String thumbYn = request.getParameter("thumbYn");
+		String fileExt = "";
+	    int index = atchFileNm.lastIndexOf(".");
+	    if(index != -1) {
+	    	fileExt = atchFileNm.substring(index + 1);
+	    	atchFileNm = atchFileNm.substring(0, index);
+	    }
+
+	    String resFilePath = propertiesService.getString(fileStorePath) + "/" + siteId+ "/" + appendPath;
+	    File file = null;
+	    if("Y".equals(thumbYn)) {
+			String strWidth = request.getParameter("width");
+			String strHeight = request.getParameter("height");
+			int width = (EgovNumberUtil.getNumberValidCheck(strWidth)) ? EgovStringUtil.zeroConvert(strWidth) : propertiesService.getInt("photoThumbWidth");
+			int height = (EgovNumberUtil.getNumberValidCheck(strHeight)) ? EgovStringUtil.zeroConvert(strHeight) : propertiesService.getInt("photoThumbHeight");
+
+			file = new File(resFilePath, atchFileNm + "_THUMB." + fileExt);
+			if(!file.exists()) {
+				width = 500;
+				height = 500;
+				Thumbnails.of(new File(resFilePath, atchFileNm))
+					.size(width, height)
+					.toFile(file)
+					;
+			}
+	    } else {
+	    	file = new File(resFilePath, atchFileNm);
+	    }
+
+	    if(file.exists()) {
+			FileInputStream fis = null;
+			BufferedInputStream in = null;
+			ByteArrayOutputStream bStream = null;
+
+			try {
+
+				fis = new FileInputStream(file);
+				in = new BufferedInputStream(fis);
+				bStream = new ByteArrayOutputStream();
+
+				int imgByte;
+				while ((imgByte = in.read()) != -1) {
+				    bStream.write(imgByte);
+				}
+
+				String type = "";
+
+				if (fileExt != null && !"".equals(fileExt)) {
+				    if ("jpg".equals(EgovStringUtil.lowerCase(fileExt))) {
+					type = "image/jpeg";
+				    } else {
+					type = "image/" + EgovStringUtil.lowerCase(fileExt);
+				    }
+
+				} else {
+				    log.debug("Image fileType is null.");
+				}
+
+				response.setHeader("Content-Type", type);
+				response.setContentLength(bStream.size());
+
+				bStream.writeTo(response.getOutputStream());
+
+				response.getOutputStream().flush();
+			} catch (FileNotFoundException fnfe) {
+				log.debug("/cmm/fms/getImage.do -- stream error : " + atchFileNm);
+			} catch (IOException ioe) {
+				log.debug("/cmm/fms/getImage.do -- stream error : " + atchFileNm);
+			} catch(Exception e) {
+				log.debug("/cmm/fms/getImage.do -- stream error : " + atchFileNm);
+			} finally {
+				try {response.getOutputStream().close();}catch(Exception ex){log.info(ex);}
+				if(bStream != null) {
+					try {bStream.close();}catch(IOException ex){log.info(ex);}
+				}
+				if(in != null) {
+					try {in.close();}catch(IOException ex){log.info(ex);}
+				}
+				if(fis != null) {
+					try {fis.close();}catch(IOException ex){log.info(ex);}
+				}
+			}
+	    }
+    }
+
+}
 
base/src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java (deleted)
--- base/src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java
@@ -1,130 +0,0 @@
-package egovframework.com.cmm.web;
-
-/*
- * Copyright 2001-2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the ";License&quot;);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS"; BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletContext;
-
-import org.apache.commons.fileupload.FileItem;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.util.StringUtils;
-import org.springframework.web.multipart.MultipartException;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.commons.CommonsMultipartFile;
-import org.springframework.web.multipart.commons.CommonsMultipartResolver;
-
-/**
- * 실행환경의 파일업로드 처리를 위한 기능 클래스
- * @author 공통서비스개발팀 이삼섭
- * @since 2009.06.01
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2009.3.25  이삼섭          최초 생성
- *   2011.06.11 서준식          스프링 3.0 업그레이드 API변경으로인한 수정
- *
- * </pre>
- */
-public class EgovMultipartResolver extends CommonsMultipartResolver {
-
-	private static final Logger LOGGER = LoggerFactory.getLogger(EgovMultipartResolver.class);
-
-	public EgovMultipartResolver() {}
-
-    /**
-     * 첨부파일 처리를 위한 multipart resolver를 생성한다.
-     *
-     * @param servletContext
-     */
-    public EgovMultipartResolver(ServletContext servletContext) {
-	super(servletContext);
-    }
-
-    /**
-     * multipart에 대한 parsing을 처리한다.
-     */
-    @SuppressWarnings("rawtypes")
-	@Override
-    protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {
-
-    //스프링 3.0변경으로 수정한 부분
-    MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();
-	Map<String, String[]> multipartParameters = new HashMap<String, String[]>();
-
-	// Extract multipart files and multipart parameters.
-	for (Iterator<?> it = fileItems.iterator(); it.hasNext();) {
-	    FileItem fileItem = (FileItem)it.next();
-
-	    if (fileItem.isFormField()) {
-
-		String value = null;
-		if (encoding != null) {
-		    try {
-			value = fileItem.getString(encoding);
-		    } catch (UnsupportedEncodingException ex) {
-		    	LOGGER.warn("Could not decode multipart item '{}' with encoding '{}': using platform default"
-		    			, fileItem.getFieldName(), encoding);
-			value = fileItem.getString();
-		    }
-		} else {
-		    value = fileItem.getString();
-		}
-		String[] curParam = (String[])multipartParameters.get(fileItem.getFieldName());
-		if (curParam == null) {
-		    // simple form field
-		    multipartParameters.put(fileItem.getFieldName(), new String[] { value });
-		} else {
-		    // array of simple form fields
-		    String[] newParam = StringUtils.addStringToArray(curParam, value);
-		    multipartParameters.put(fileItem.getFieldName(), newParam);
-		}
-	    } else {
-
-		if (fileItem.getSize() > 0) {
-		    // multipart file field
-		    CommonsMultipartFile file = new CommonsMultipartFile(fileItem);
-
-		    //스프링 3.0 업그레이드 API변경으로인한 수정
-		    List<MultipartFile> fileList = new ArrayList<MultipartFile>();
-		    fileList.add(file);
-
-		    if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!!
-		    	throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver");
-		    }
-			LOGGER.debug("Found multipart file [{}] of size {} bytes with original filename [{}], stored {}"
-					, file.getName(), file.getSize(), file.getOriginalFilename(), file.getStorageDescription());
-		}
-
-	    }
-	}
-
-	return new MultipartParsingResult(multipartFiles, multipartParameters, null);
-    }
-}
base/src/main/java/egovframework/com/cmm/web/FileDownloadController.java
--- base/src/main/java/egovframework/com/cmm/web/FileDownloadController.java
+++ base/src/main/java/egovframework/com/cmm/web/FileDownloadController.java
@@ -19,9 +19,9 @@
 import java.util.zip.ZipOutputStream;
 
 import javax.annotation.Resource;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
base/src/main/java/egovframework/com/cmm/web/FileMngController.java
--- base/src/main/java/egovframework/com/cmm/web/FileMngController.java
+++ base/src/main/java/egovframework/com/cmm/web/FileMngController.java
@@ -15,8 +15,8 @@
 import java.util.regex.Pattern;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
base/src/main/java/egovframework/com/cmm/web/FileVO.java
--- base/src/main/java/egovframework/com/cmm/web/FileVO.java
+++ base/src/main/java/egovframework/com/cmm/web/FileVO.java
@@ -1,120 +1,120 @@
-package egovframework.com.cmm.web;
-
-import java.io.Serializable;
-
-@SuppressWarnings("serial")
-public class FileVO implements Serializable {
-    /**
-	 * 파일확장자
-	 */
-    public String fileExtsn = "";
-    /**
-	 * 파일크기
-	 */
-    public String fileMg = "";
-    /**
-	 * 파일저장경로
-	 */
-    public String fileStreCours = "";
-    /**
-	 * 원파일명
-	 */
-    public String orignlFileNm = "";
-    /**
-	 * 저장파일명
-	 */
-    public String streFileNm = "";
-    
-    /**
-	 * 임시파일ID
-	 */
-    public String tmprFileId = "";
-    
-    /**
-	 * fileExtsn attribute를 리턴한다.
-	 * @return  the fileExtsn
-	 */
-    public String getFileExtsn() {
-	return fileExtsn;
-    }
-
-    /**
-	 * fileExtsn attribute 값을 설정한다.
-	 * @param fileExtsn  the fileExtsn to set
-	 */
-    public void setFileExtsn(String fileExtsn) {
-	this.fileExtsn = fileExtsn;
-    }
-
-    /**
-	 * fileMg attribute를 리턴한다.
-	 * @return  the fileMg
-	 */
-    public String getFileMg() {
-	return fileMg;
-    }
-
-    /**
-	 * fileMg attribute 값을 설정한다.
-	 * @param fileMg  the fileMg to set
-	 */
-    public void setFileMg(String fileMg) {
-	this.fileMg = fileMg;
-    }
-
-    /**
-	 * fileStreCours attribute를 리턴한다.
-	 * @return  the fileStreCours
-	 */
-    public String getFileStreCours() {
-	return fileStreCours;
-    }
-
-    /**
-	 * fileStreCours attribute 값을 설정한다.
-	 * @param fileStreCours  the fileStreCours to set
-	 */
-    public void setFileStreCours(String fileStreCours) {
-	this.fileStreCours = fileStreCours;
-    }
-
-    /**
-	 * orignlFileNm attribute를 리턴한다.
-	 * @return  the orignlFileNm
-	 */
-    public String getOrignlFileNm() {
-	return orignlFileNm;
-    }
-
-    /**
-	 * orignlFileNm attribute 값을 설정한다.
-	 * @param orignlFileNm  the orignlFileNm to set
-	 */
-    public void setOrignlFileNm(String orignlFileNm) {
-	this.orignlFileNm = orignlFileNm;
-    }
-
-    /**
-	 * streFileNm attribute를 리턴한다.
-	 * @return  the streFileNm
-	 */
-    public String getStreFileNm() {
-	return streFileNm;
-    }
-
-    /**
-	 * streFileNm attribute 값을 설정한다.
-	 * @param streFileNm  the streFileNm to set
-	 */
-    public void setStreFileNm(String streFileNm) {
-	this.streFileNm = streFileNm;
-    }
-    
-	public String getTmprFileId() {
-		return tmprFileId;
-	}
-
-	public void setTmprFileId(String tmprFileId) {
-		this.tmprFileId = tmprFileId;
-	}
-}
+package egovframework.com.cmm.web;
+
+import java.io.Serializable;
+
+@SuppressWarnings("serial")
+public class FileVO implements Serializable {
+    /**
+	 * 파일확장자
+	 */
+    public String fileExtsn = "";
+    /**
+	 * 파일크기
+	 */
+    public String fileMg = "";
+    /**
+	 * 파일저장경로
+	 */
+    public String fileStreCours = "";
+    /**
+	 * 원파일명
+	 */
+    public String orignlFileNm = "";
+    /**
+	 * 저장파일명
+	 */
+    public String streFileNm = "";
+    
+    /**
+	 * 임시파일ID
+	 */
+    public String tmprFileId = "";
+    
+    /**
+	 * fileExtsn attribute를 리턴한다.
+	 * @return  the fileExtsn
+	 */
+    public String getFileExtsn() {
+	return fileExtsn;
+    }
+
+    /**
+	 * fileExtsn attribute 값을 설정한다.
+	 * @param fileExtsn  the fileExtsn to set
+	 */
+    public void setFileExtsn(String fileExtsn) {
+	this.fileExtsn = fileExtsn;
+    }
+
+    /**
+	 * fileMg attribute를 리턴한다.
+	 * @return  the fileMg
+	 */
+    public String getFileMg() {
+	return fileMg;
+    }
+
+    /**
+	 * fileMg attribute 값을 설정한다.
+	 * @param fileMg  the fileMg to set
+	 */
+    public void setFileMg(String fileMg) {
+	this.fileMg = fileMg;
+    }
+
+    /**
+	 * fileStreCours attribute를 리턴한다.
+	 * @return  the fileStreCours
+	 */
+    public String getFileStreCours() {
+	return fileStreCours;
+    }
+
+    /**
+	 * fileStreCours attribute 값을 설정한다.
+	 * @param fileStreCours  the fileStreCours to set
+	 */
+    public void setFileStreCours(String fileStreCours) {
+	this.fileStreCours = fileStreCours;
+    }
+
+    /**
+	 * orignlFileNm attribute를 리턴한다.
+	 * @return  the orignlFileNm
+	 */
+    public String getOrignlFileNm() {
+	return orignlFileNm;
+    }
+
+    /**
+	 * orignlFileNm attribute 값을 설정한다.
+	 * @param orignlFileNm  the orignlFileNm to set
+	 */
+    public void setOrignlFileNm(String orignlFileNm) {
+	this.orignlFileNm = orignlFileNm;
+    }
+
+    /**
+	 * streFileNm attribute를 리턴한다.
+	 * @return  the streFileNm
+	 */
+    public String getStreFileNm() {
+	return streFileNm;
+    }
+
+    /**
+	 * streFileNm attribute 값을 설정한다.
+	 * @param streFileNm  the streFileNm to set
+	 */
+    public void setStreFileNm(String streFileNm) {
+	this.streFileNm = streFileNm;
+    }
+    
+	public String getTmprFileId() {
+		return tmprFileId;
+	}
+
+	public void setTmprFileId(String tmprFileId) {
+		this.tmprFileId = tmprFileId;
+	}
+}
base/src/main/java/egovframework/com/cmm/web/resolver/CommandMapArgumentResolver.java
--- base/src/main/java/egovframework/com/cmm/web/resolver/CommandMapArgumentResolver.java
+++ base/src/main/java/egovframework/com/cmm/web/resolver/CommandMapArgumentResolver.java
@@ -4,7 +4,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.springframework.core.MethodParameter;
 import org.springframework.web.bind.support.WebArgumentResolver;
base/src/main/java/egovframework/com/front/api/whale/web/AuthController.java
--- base/src/main/java/egovframework/com/front/api/whale/web/AuthController.java
+++ base/src/main/java/egovframework/com/front/api/whale/web/AuthController.java
@@ -2,9 +2,9 @@
 
 import java.io.PrintWriter;
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 import egovframework.module.sym.sit.service.SiteManageService;
 import egovframework.module.sym.sit.service.SiteManageVO;
base/src/main/java/egovframework/com/front/cop/bbs/web/BBSCommentController.java
--- base/src/main/java/egovframework/com/front/cop/bbs/web/BBSCommentController.java
+++ base/src/main/java/egovframework/com/front/cop/bbs/web/BBSCommentController.java
@@ -3,8 +3,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
base/src/main/java/egovframework/com/front/cop/bbs/web/BBSManageController.java
--- base/src/main/java/egovframework/com/front/cop/bbs/web/BBSManageController.java
+++ base/src/main/java/egovframework/com/front/cop/bbs/web/BBSManageController.java
@@ -38,8 +38,8 @@
 import egovframework.module.utl.fcc.service.EgovStringUtil;
 import egovframework.module.utl.sim.service.EgovClntInfo;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 //게시물 관리를 위한 컨트롤러 클래스
base/src/main/java/egovframework/com/front/cop/cmy/web/BBSAttributeManageController.java
--- base/src/main/java/egovframework/com/front/cop/cmy/web/BBSAttributeManageController.java
+++ base/src/main/java/egovframework/com/front/cop/cmy/web/BBSAttributeManageController.java
@@ -1,8 +1,8 @@
 package egovframework.com.front.cop.cmy.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.cop.bbs.service.CtgryMasterVO;
 import org.apache.log4j.Logger;
base/src/main/java/egovframework/com/front/cop/cmy/web/BBSCommentController.java
--- base/src/main/java/egovframework/com/front/cop/cmy/web/BBSCommentController.java
+++ base/src/main/java/egovframework/com/front/cop/cmy/web/BBSCommentController.java
@@ -3,8 +3,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
base/src/main/java/egovframework/com/front/cop/cmy/web/BBSManageController.java
--- base/src/main/java/egovframework/com/front/cop/cmy/web/BBSManageController.java
+++ base/src/main/java/egovframework/com/front/cop/cmy/web/BBSManageController.java
@@ -36,8 +36,8 @@
 import egovframework.module.utl.fcc.service.EgovStringUtil;
 import egovframework.module.utl.sim.service.EgovClntInfo;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 //게시물 관리를 위한 컨트롤러 클래스
base/src/main/java/egovframework/com/front/cop/cmy/web/CommunityManageController.java
--- base/src/main/java/egovframework/com/front/cop/cmy/web/CommunityManageController.java
+++ base/src/main/java/egovframework/com/front/cop/cmy/web/CommunityManageController.java
@@ -7,8 +7,8 @@
 import java.util.regex.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.cop.com.service.ConfirmHistoryVO;
 import org.apache.log4j.Logger;
base/src/main/java/egovframework/com/front/cop/cmy/web/TemplateServiceController.java
--- base/src/main/java/egovframework/com/front/cop/cmy/web/TemplateServiceController.java
+++ base/src/main/java/egovframework/com/front/cop/cmy/web/TemplateServiceController.java
@@ -1,8 +1,8 @@
 package egovframework.com.front.cop.cmy.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
base/src/main/java/egovframework/com/front/cop/com/web/EgovConfirmController.java
--- base/src/main/java/egovframework/com/front/cop/com/web/EgovConfirmController.java
+++ base/src/main/java/egovframework/com/front/cop/com/web/EgovConfirmController.java
@@ -3,8 +3,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
base/src/main/java/egovframework/com/front/cop/com/web/EgovCopUserInfController.java
--- base/src/main/java/egovframework/com/front/cop/com/web/EgovCopUserInfController.java
+++ base/src/main/java/egovframework/com/front/cop/com/web/EgovCopUserInfController.java
@@ -3,8 +3,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
base/src/main/java/egovframework/com/front/evt/web/ComtnschdulinfoController.java
--- base/src/main/java/egovframework/com/front/evt/web/ComtnschdulinfoController.java
+++ base/src/main/java/egovframework/com/front/evt/web/ComtnschdulinfoController.java
@@ -4,8 +4,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
base/src/main/java/egovframework/com/front/msi/web/ContentsServiceController.java
--- base/src/main/java/egovframework/com/front/msi/web/ContentsServiceController.java
+++ base/src/main/java/egovframework/com/front/msi/web/ContentsServiceController.java
@@ -4,8 +4,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
base/src/main/java/egovframework/com/front/msi/web/SearchServiceController.java
--- base/src/main/java/egovframework/com/front/msi/web/SearchServiceController.java
+++ base/src/main/java/egovframework/com/front/msi/web/SearchServiceController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.com.cmm.service.JsonResponse;
 import egovframework.module.utl.fcc.service.CryptoUtil;
base/src/main/java/egovframework/com/front/msi/web/TemplateServiceController.java
--- base/src/main/java/egovframework/com/front/msi/web/TemplateServiceController.java
+++ base/src/main/java/egovframework/com/front/msi/web/TemplateServiceController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -49,7 +49,7 @@
 		if(user != null){
 			int SE_CODE = Integer.parseInt(user.getUserSe());
 			if(SE_CODE > 8){
-				return "redirect:/mng/index.do";
+				return "redirect:/manage/index.do";
 			}
 		}
 
base/src/main/java/egovframework/com/front/sym/log/web/EgovWebLogInterceptor.java
--- base/src/main/java/egovframework/com/front/sym/log/web/EgovWebLogInterceptor.java
+++ base/src/main/java/egovframework/com/front/sym/log/web/EgovWebLogInterceptor.java
@@ -1,11 +1,11 @@
 package egovframework.com.front.sym.log.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
+import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
 import egovframework.com.cmm.service.Globals;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
@@ -20,7 +20,7 @@
 import egovframework.rte.fdl.property.EgovPropertyService;
 
 //웹로그 생성을 위한 인터셉터 클래스
-public class EgovWebLogInterceptor extends HandlerInterceptorAdapter {
+public class EgovWebLogInterceptor implements HandlerInterceptor {
 
 	@Resource(name="logManageService")
 	private LogManageService logManageService;
@@ -33,7 +33,7 @@
 	
 	String[] disableUrlList = new String[]
 	            {
-					"/mng/",
+					"/manage/",
 					"/validator.do", 
 					"/msi/tmplatHead.do",
 					"/msi/tmplatBottom.do",
@@ -96,7 +96,7 @@
 					if(user == null) {
 						accessAlrow = false;
 					}
-				} else if(reqURL.startsWith("/mng")) {
+				} else if(reqURL.startsWith("/manage")) {
 					accessAlrow = false;
 					messageCode = "fail.auth.nomatch";
 					//String message = "권한이 없습니다.";
base/src/main/java/egovframework/com/front/uat/sso/filter/EgovSSOFilter.java
--- base/src/main/java/egovframework/com/front/uat/sso/filter/EgovSSOFilter.java
+++ base/src/main/java/egovframework/com/front/uat/sso/filter/EgovSSOFilter.java
@@ -2,14 +2,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
base/src/main/java/egovframework/com/front/uat/uia/web/LoginController.java
--- base/src/main/java/egovframework/com/front/uat/uia/web/LoginController.java
+++ base/src/main/java/egovframework/com/front/uat/uia/web/LoginController.java
@@ -2,8 +2,8 @@
 
 import java.io.PrintWriter;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import javax.annotation.Resource;
 
 
@@ -247,7 +247,7 @@
     	String modelUrl = main_page;
     	//관리자 로그인 시 관리자 페이지로 이동
     	if(Integer.parseInt(user.getUserSeCode()) >= 10){
-    		modelUrl =  "redirect:" + main_page + "mng/index.do";
+    		modelUrl =  "redirect:" + main_page + "manage/index.do";
     	}else if(returnUrl == null || "".equals(returnUrl)){
     		modelUrl =  "redirect:" + main_page;
     	}else{
base/src/main/java/egovframework/com/front/uss/ion/bnr/web/BannerController.java
--- base/src/main/java/egovframework/com/front/uss/ion/bnr/web/BannerController.java
+++ base/src/main/java/egovframework/com/front/uss/ion/bnr/web/BannerController.java
@@ -1,8 +1,8 @@
 package egovframework.com.front.uss.ion.bnr.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
base/src/main/java/egovframework/com/front/uss/ion/pwm/web/PopupController.java
--- base/src/main/java/egovframework/com/front/uss/ion/pwm/web/PopupController.java
+++ base/src/main/java/egovframework/com/front/uss/ion/pwm/web/PopupController.java
@@ -1,7 +1,7 @@
 package egovframework.com.front.uss.ion.pwm.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
base/src/main/java/egovframework/com/front/uss/ivp/web/IndvdlestbsController.java
--- base/src/main/java/egovframework/com/front/uss/ivp/web/IndvdlestbsController.java
+++ base/src/main/java/egovframework/com/front/uss/ivp/web/IndvdlestbsController.java
@@ -3,8 +3,8 @@
 import java.io.PrintWriter;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
base/src/main/java/egovframework/com/front/uss/umt/web/UserInfoController.java
--- base/src/main/java/egovframework/com/front/uss/umt/web/UserInfoController.java
+++ base/src/main/java/egovframework/com/front/uss/umt/web/UserInfoController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.com.cmm.service.CmmUseService;
 import egovframework.com.cmm.service.FileMngUtil;
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSAttributeManageController.java
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSAttributeManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSAttributeManageController.java
@@ -3,8 +3,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.cop.bbs.service.CtgryMasterVO;
 import org.apache.log4j.Logger;
@@ -64,7 +64,7 @@
 	Logger log = Logger.getLogger(this.getClass());
 
 	//신규 게시판 마스터 등록을 위한 등록페이지로 이동한다.
-  	@RequestMapping("/mng/cop/bbs/addBBSMaster.do")
+  	@RequestMapping("/manage/cop/bbs/addBBSMaster.do")
   	public String addBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	    		  
 		  //model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
@@ -89,15 +89,15 @@
 	    
 		  request.getSession().setAttribute("sessionVO", boardMasterVO);
 		    
-		  return "mng/cop/bbs/BoardMstrRegist";
+		  return "manage/cop/bbs/BoardMstrRegist";
 	  }
 	  
 	//신규 게시판 마스터 정보를 등록한다.
-	@RequestMapping("/mng/cop/bbs/insertBBSMasterInf.do")
+	@RequestMapping("/manage/cop/bbs/insertBBSMasterInf.do")
 	public String insertBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMasterVO boardMaster, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 	    
 		if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/SelectBBSMasterInfs.do";
+			return "forward:/manage/cop/bbs/SelectBBSMasterInfs.do";
 		}
 
 		LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -123,7 +123,7 @@
 		    model.addAttribute("fileStoreTemplateWebPathByPreFile", propertyService.getString("publish.tmplat.bbs.fileStoreWebPathByPreFile"));
 			model.addAttribute("fileStoreSourcWebPathByPreFile", propertyService.getString("publish.sourc.bbs.fileStoreWebPathByPreFile"));
 		    
-		    return "mng/cop/bbs/BoardMstrRegist";
+		    return "manage/cop/bbs/BoardMstrRegist";
 	    }
 	    
 	    boardMaster.setFrstRegisterId(loginVO.getEsntlId());
@@ -132,11 +132,11 @@
 	    request.getSession().removeAttribute("sessionVO");
 
 	    
-	    return "forward:/mng/cop/bbs/SelectBBSMasterInfs.do";
+	    return "forward:/manage/cop/bbs/SelectBBSMasterInfs.do";
 	  }
 	  
 	  //게시판 마스터 목록을 조회한다.
-	  @RequestMapping("/mng/cop/bbs/SelectBBSMasterInfs.do")
+	  @RequestMapping("/manage/cop/bbs/SelectBBSMasterInfs.do")
 	  public String selectBBSMasterInfs(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 		  if(EgovStringUtil.isEmpty(boardMasterVO.getSiteId())) {
@@ -169,11 +169,11 @@
 		  }
 		  model.addAttribute("paginationInfo", paginationInfo);
 	    
-		  return "mng/cop/bbs/BoardMstrList";
+		  return "manage/cop/bbs/BoardMstrList";
 	  }
 	  
 	  //게시판 마스터 상세내용을 조회한다.
-	  @RequestMapping("/mng/cop/bbs/SelectBBSMasterInf.do")
+	  @RequestMapping("/manage/cop/bbs/SelectBBSMasterInf.do")
 	  public String selectBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		
 		  //model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
@@ -213,15 +213,15 @@
 	    
 		  request.getSession().setAttribute("sessionVO", searchVO);
 	    
-		  return "mng/cop/bbs/BoardMstrRegist";
+		  return "manage/cop/bbs/BoardMstrRegist";
 	  }
 	  
 	  //게시판 마스터 정보를 수정한다.
-	  @RequestMapping("/mng/cop/bbs/UpdateBBSMasterInf.do")
+	  @RequestMapping("/manage/cop/bbs/UpdateBBSMasterInf.do")
 	  public String updateBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMasterVO boardMaster, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	    
 		if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/SelectBBSMasterInfs.do";
+			return "forward:/manage/cop/bbs/SelectBBSMasterInfs.do";
 		}
 		  
 	    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -264,7 +264,7 @@
 			model.addAttribute("fileStoreTemplateWebPathByPreFile", propertyService.getString("publish.tmplat.bbs.fileStoreWebPathByPreFile"));
 			model.addAttribute("fileStoreSourcWebPathByPreFile", propertyService.getString("publish.sourc.bbs.fileStoreWebPathByPreFile"));
 	      
-	      return "mng/cop/bbs/BoardMstrRegist";
+	      return "manage/cop/bbs/BoardMstrRegist";
 	    }
 	    
 	      boardMaster.setLastUpdusrId(user.getEsntlId());
@@ -272,11 +272,11 @@
 
 	      request.getSession().removeAttribute("sessionVO");
 	      
-	    return "forward:/mng/cop/bbs/SelectBBSMasterInfs.do";
+	    return "forward:/manage/cop/bbs/SelectBBSMasterInfs.do";
 	  }
 	  
 	  //게시판 마스터 정보를 삭제한다.
-	  @RequestMapping("/mng/cop/bbs/DeleteBBSMasterInf.do")
+	  @RequestMapping("/manage/cop/bbs/DeleteBBSMasterInf.do")
 	  public String deleteBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMasterVO boardMaster, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	    
 		  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -285,7 +285,7 @@
 	      bbsAttrbService.deleteBBSMasterInf(boardMaster);
 
 	    // status.setComplete();
-	    return "forward:/mng/cop/bbs/SelectBBSMasterInfs.do";
+	    return "forward:/manage/cop/bbs/SelectBBSMasterInfs.do";
 	  }
 	  
 	  
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCommentController.java
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCommentController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCommentController.java
@@ -3,8 +3,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -69,7 +69,7 @@
 }
 
   //댓글관리 목록 조회를 제공한다.
-  @RequestMapping("/mng/cop/bbs/selectCommentList.do")
+  @RequestMapping("/manage/cop/bbs/selectCommentList.do")
   public String selectCommentList(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model, String urlPrefix, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  try {
@@ -81,13 +81,13 @@
 	    
 	    // 수정을 위한 처리
 	    if(commentVO.getCommentNo() != null) {
-	    	return "forward:/mng/cop/bbs/selectSingleComment.do";
+	    	return "forward:/manage/cop/bbs/selectSingleComment.do";
 	    }
 	    
 	    model.addAttribute("type", commentVO.getType()); // head or body
 	    
 	    if(commentVO.getType().equals("head")) {
-	    	return "mng/cop/bbs/default/EgovCommentList";
+	    	return "manage/cop/bbs/default/EgovCommentList";
 	    }
 	    // //----------------------------------------
 	    
@@ -126,15 +126,15 @@
 	  } catch(Exception ex) {
 		  ex.printStackTrace();
 	  }
-    return "mng/cop/bbs/default/EgovCommentList";
+    return "manage/cop/bbs/default/EgovCommentList";
   }
   
   //댓글을 등록한다.
-  @RequestMapping("/mng/cop/bbs/insertComment.do")
+  @RequestMapping("/manage/cop/bbs/insertComment.do")
   public String insertComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") CommentVO comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	if(request.getSession().getAttribute("sessionCommentVO") != null && comment.getCommentCn().equals((String)request.getSession().getAttribute("sessionCommentVO"))) {
-		return "forward:/mng/cop/bbs/selectBoardArticle.do";
+		return "forward:/manage/cop/bbs/selectBoardArticle.do";
 	}
 	    
     LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -143,7 +143,7 @@
     if(bindingResult.hasErrors()) {
       model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
       
-      return "forward:/mng/cop/bbs/selectBoardArticle.do";
+      return "forward:/manage/cop/bbs/selectBoardArticle.do";
     }
     
 	  comment.setFrstRegisterId(user.getId());
@@ -157,15 +157,15 @@
 	  commentVO.setCommentNo(null);
     
     
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    return "forward:/manage/cop/bbs/selectBoardArticle.do";
   }
   
   //댓글에 댓글을 등록한다
-  @RequestMapping("/mng/cop/bbs/insertReplyComment.do")
+  @RequestMapping("/manage/cop/bbs/insertReplyComment.do")
   public String insertReplyComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") CommentVO comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	if(request.getSession().getAttribute("sessionCommentVO") != null && comment.getCommentCn().equals((String)request.getSession().getAttribute("sessionCommentVO"))) {
-		return "forward:/mng/cop/bbs/selectBoardArticle.do";
+		return "forward:/manage/cop/bbs/selectBoardArticle.do";
 	}
 	    
     LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -174,7 +174,7 @@
     if(bindingResult.hasErrors()) {
       model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
       
-      return "forward:/mng/cop/bbs/selectBoardArticle.do";
+      return "forward:/manage/cop/bbs/selectBoardArticle.do";
     }
     
     	commentVO.setFrstRegisterId(user.getId());
@@ -188,11 +188,11 @@
       commentVO.setCommentCn("");
       commentVO.setCommentNo(null);
         
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    return "forward:/manage/cop/bbs/selectBoardArticle.do";
   }
   
   //댓글을 삭제한다.
-  @RequestMapping("/mng/cop/bbs/deleteComment.do")
+  @RequestMapping("/manage/cop/bbs/deleteComment.do")
   public String deleteComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") CommentVO comment, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
     Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
@@ -205,17 +205,17 @@
     commentVO.setCommentCn("");
     commentVO.setCommentNo(null);
     
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    return "forward:/manage/cop/bbs/selectBoardArticle.do";
   }
     
   //댓글 수정 페이지로 이동한다.
-  @RequestMapping("/mng/cop/bbs/selectSingleComment.do")
+  @RequestMapping("/manage/cop/bbs/selectSingleComment.do")
   public String selectSingleComment(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
     model.addAttribute("type", commentVO.getType()); // head or body
     
     if(commentVO.getType().equals("head")) {
-      return "mng/cop/bbs/default/EgovCommentList";
+      return "manage/cop/bbs/default/EgovCommentList";
     }
     // //----------------------------------------
     
@@ -255,15 +255,15 @@
     
     request.getSession().setAttribute("sessionVO", commentVO);
     
-    return "mng/cop/bbs/default/EgovCommentList";
+    return "manage/cop/bbs/default/EgovCommentList";
   }
   
   //댓글을 수정한다.
-  @RequestMapping("/mng/cop/bbs/updateComment.do")
+  @RequestMapping("/manage/cop/bbs/updateComment.do")
   public String updateCommentList(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") CommentVO comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	if(request.getSession().getAttribute("sessionVO") == null) {
-		return "forward:/mng/cop/bbs/selectBoardArticle.do";
+		return "forward:/manage/cop/bbs/selectBoardArticle.do";
 	}
 	  
     LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -273,7 +273,7 @@
     if(bindingResult.hasErrors()) {
       model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
       
-      return "forward:/mng/cop/bbs/selectBoardArticle.do";
+      return "forward:/manage/cop/bbs/selectBoardArticle.do";
     }
     
     if(isAuthenticated) {
@@ -287,7 +287,7 @@
       request.getSession().removeAttribute("sessionVO");
     }
     
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    return "forward:/manage/cop/bbs/selectBoardArticle.do";
   }
 
 }
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSManageController.java
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSManageController.java
@@ -35,8 +35,8 @@
 import egovframework.module.utl.fcc.service.EgovStringUtil;
 import egovframework.module.utl.sim.service.EgovClntInfo;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 //게시물 관리를 위한 컨트롤러 클래스
@@ -108,7 +108,7 @@
   
   
   //게시물에 대한 목록을 조회한다.
-  @RequestMapping("/mng/cop/bbs/selectBoardList.do")
+  @RequestMapping("/manage/cop/bbs/selectBoardList.do")
   public String selectBoardArticles(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  if(EgovUserDetailsHelper.isAuthenticated(request, response)) {
@@ -185,11 +185,11 @@
 	  
 	  model.addAttribute("paginationInfo", paginationInfo);
 	      
-    return "mng/cop/bbs/default/NoticeList";
+    return "manage/cop/bbs/default/NoticeList";
   }
   
   //게시물에 대한 상세 정보를 조회한다.
-  @RequestMapping("/mng/cop/bbs/selectBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/selectBoardArticle.do")
   public String selectBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  boardVO.setAdminAt("Y");
@@ -225,11 +225,11 @@
 	  }
 	 
 
-	  return "mng/cop/bbs/default/NoticeInqire";
+	  return "manage/cop/bbs/default/NoticeInqire";
   }
 
   //게시물 등록을 위한 등록페이지로 이동한다.
-  @RequestMapping("/mng/cop/bbs/addBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/addBoardArticle.do")
   public String addBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  BoardMasterVO vo = new BoardMasterVO();
@@ -256,15 +256,15 @@
 		  request.getSession().setAttribute("sessionVO", boardVO);
 	  }
     
-	  return "mng/cop/bbs/default/NoticeRegist";
+	  return "manage/cop/bbs/default/NoticeRegist";
   }
   
   //게시물을 등록한다.
-  @RequestMapping("/mng/cop/bbs/insertBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/insertBoardArticle.do")
   public String insertBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, BoardVO board, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 
 	  if(request.getSession().getAttribute("sessionVO") == null) {
-		  return "forward:/mng/cop/bbs/selectBoardList.do";
+		  return "forward:/manage/cop/bbs/selectBoardList.do";
 	  }
     
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -293,7 +293,7 @@
 			  model.addAttribute("brdMstrVO", master);
 		  }
       
-		  return "mng/cop/bbs/default/NoticeRegist";
+		  return "manage/cop/bbs/default/NoticeRegist";
 	  }
     
 	  if(master != null) {
@@ -323,11 +323,11 @@
 	      request.getSession().removeAttribute("sessionVO");
 	  }
 
-	  return "forward:/mng/cop/bbs/selectBoardList.do";
+	  return "forward:/manage/cop/bbs/selectBoardList.do";
   }
   
   //게시물에 대한 답변 등록을 위한 등록페이지로 이동한다.
-  @RequestMapping("/mng/cop/bbs/addReplyBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/addReplyBoardArticle.do")
   public String addReplyBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
 	  BoardMasterVO vo = new BoardMasterVO();
@@ -374,16 +374,16 @@
 		  request.getSession().setAttribute("sessionVO", boardVO);
 	  }
     
-	  return "mng/cop/bbs/default/NoticeRegist";
+	  return "manage/cop/bbs/default/NoticeRegist";
   }
   
   //게시물에 대한 답변을 등록한다.
-  @RequestMapping("/mng/cop/bbs/replyBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/replyBoardArticle.do")
   public String replyBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, BoardVO board, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
    
 	  if(request.getSession().getAttribute("sessionVO") == null) {
-		  return "forward:/mng/cop/bbs/selectBoardList.do";
+		  return "forward:/manage/cop/bbs/selectBoardList.do";
 	  }
     
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -413,7 +413,7 @@
 			  }
 		  }
       
-		  return "mng/cop/bbs/default/NoticeRegist";
+		  return "manage/cop/bbs/default/NoticeRegist";
 	  }
     
 	  if(master != null) {
@@ -465,11 +465,11 @@
 	            
 	  }
     
-	  return "forward:/mng/cop/bbs/selectBoardList.do";
+	  return "forward:/manage/cop/bbs/selectBoardList.do";
   }
 
   //게시물 수정을 위한 수정페이지로 이동한다.
-  @RequestMapping("/mng/cop/bbs/forUpdateBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/forUpdateBoardArticle.do")
   public String selectBoardArticleForUpdt(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  BoardMasterVO vo = new BoardMasterVO();
@@ -499,17 +499,17 @@
 		  request.getSession().setAttribute("sessionVO", boardVO);
 	  }
 	  
-	  return "mng/cop/bbs/default/NoticeRegist";
+	  return "manage/cop/bbs/default/NoticeRegist";
   }
 
   //게시물에 대한 내용을 수정한다.
-  @RequestMapping("/mng/cop/bbs/updateBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/updateBoardArticle.do")
   public String updateBoardArticle(final MultipartHttpServletRequest multiRequest, 
 		  BoardVO board, BindingResult bindingResult, 
       ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  if(request.getSession().getAttribute("sessionVO") == null) {
-		  return "forward:/mng/cop/bbs/selectBoardList.do";
+		  return "forward:/manage/cop/bbs/selectBoardList.do";
 	  }
     
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -543,7 +543,7 @@
 			  model.addAttribute("board", dataVO);
 		  }
       
-		  return "mng/cop/bbs/default/NoticeRegist";
+		  return "manage/cop/bbs/default/NoticeRegist";
 	  }
     
 	  if(master != null) {
@@ -575,11 +575,11 @@
 		  request.getSession().removeAttribute("sessionVO");
     }
 
-    return "forward:/mng/cop/bbs/selectBoardList.do";
+    return "forward:/manage/cop/bbs/selectBoardList.do";
   }
   
   //게시물에 대한 내용을 삭제한다.
-  @RequestMapping("/mng/cop/bbs/deleteBoardArticle.do")
+  @RequestMapping("/manage/cop/bbs/deleteBoardArticle.do")
   public String deleteBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, BoardVO board, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -598,7 +598,7 @@
 		  bbsMngService.deleteBoardArticle(board, master);
 	  }
     
-	  return "forward:/mng/cop/bbs/selectBoardList.do";
+	  return "forward:/manage/cop/bbs/selectBoardList.do";
   }
   
 }
base/src/main/java/egovframework/com/mng/cop/bbs/web/CtgryController.java
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/CtgryController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/CtgryController.java
@@ -1,7 +1,7 @@
 package egovframework.com.mng.cop.bbs.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import egovframework.module.cop.bbs.service.CtgryVO;
 import org.springframework.stereotype.Controller;
@@ -25,15 +25,15 @@
     protected EgovPropertyService propertiesService;
 	
     //COMTNBBSCTGRY 목록을 조회한다. (pageing)
-    @RequestMapping(value="/mng/cop/bbs/ctg/selectBBSCtgryList.do")
+    @RequestMapping(value="/manage/cop/bbs/ctg/selectBBSCtgryList.do")
     public String selectBBSCtgryList(@ModelAttribute("searchVO") CtgryVO searchVO, ModelMap model) throws Exception {
     	
         model.addAttribute("resultList", bbsCtgryService.selectComtnbbsctgryList(searchVO));
         
-        return "/mng/cop/bbs/ctg/CtgryList";
+        return "/manage/cop/bbs/ctg/CtgryList";
     } 
     
-    @RequestMapping("/mng/cop/bbs/ctg/addBBSCtgry.do")
+    @RequestMapping("/manage/cop/bbs/ctg/addBBSCtgry.do")
     public String addBBSCtgryView(@ModelAttribute("searchVO") CtgryVO searchVO, Model model, HttpServletRequest request) throws Exception {
     	
     	model.addAttribute("ctgryList", bbsCtgryService.selectComtnbbsctgryList(searchVO));
@@ -42,24 +42,24 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/bbs/ctg/CtgryRegist";
+        return "/manage/cop/bbs/ctg/CtgryRegist";
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgry.do")
+    @RequestMapping("/manage/cop/bbs/ctg/insertBBSCtgry.do")
     public String insertBBSCtgry(CtgryVO ctgry, @ModelAttribute("searchVO") CtgryVO searchVO, HttpServletRequest request) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+			return "forward:/manage/cop/bbs/ctg/selectBBSCtgryList.do";
 		}
 
         bbsCtgryService.insertComtnbbsctgry(ctgry);
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+        return "forward:/manage/cop/bbs/ctg/selectBBSCtgryList.do";
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/selectBBSCtgry.do")
+    @RequestMapping("/manage/cop/bbs/ctg/selectBBSCtgry.do")
     public String updateBBSCtgryView(@ModelAttribute("searchVO") CtgryVO searchVO, Model model, HttpServletRequest request) throws Exception {
     	
     	model.addAttribute("ctgryList", bbsCtgryService.selectComtnbbsctgryList(searchVO));
@@ -68,36 +68,36 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/bbs/ctg/CtgryRegist";
+        return "/manage/cop/bbs/ctg/CtgryRegist";
     }
 
-    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgry.do")
+    @RequestMapping("/manage/cop/bbs/ctg/updateBBSCtgry.do")
     public String updateBBSCtgry(CtgryVO ctgry, @ModelAttribute("searchVO") CtgryVO searchVO, HttpServletRequest request) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+			return "forward:/manage/cop/bbs/ctg/selectBBSCtgryList.do";
 		}
 
         bbsCtgryService.updateComtnbbsctgry(ctgry);
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+        return "forward:/manage/cop/bbs/ctg/selectBBSCtgryList.do";
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/deleteBBSCtgry.do")
+    @RequestMapping("/manage/cop/bbs/ctg/deleteBBSCtgry.do")
     public String deleteBBSCtgry(CtgryVO comtnbbsctgryVO, @ModelAttribute("searchVO") CtgryVO searchVO) throws Exception {
         bbsCtgryService.deleteComtnbbsctgry(comtnbbsctgryVO);
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+        return "forward:/manage/cop/bbs/ctg/selectBBSCtgryList.do";
     }
     
     //카테고리를 이동한다.
-    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgrySortOrdr.do")
+    @RequestMapping("/manage/cop/bbs/ctg/updateBBSCtgrySortOrdr.do")
     public String updateBBSCtgrySortOrdr(@ModelAttribute("searchVO") CtgryVO searchVO, ModelMap model) throws Exception {
 
         bbsCtgryService.updateSortOrdr(searchVO);
 
-    	return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+    	return "forward:/manage/cop/bbs/ctg/selectBBSCtgryList.do";
     }
 
 }
base/src/main/java/egovframework/com/mng/cop/bbs/web/CtgryMasterController.java
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/CtgryMasterController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/CtgryMasterController.java
@@ -3,8 +3,8 @@
 import java.io.PrintWriter;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.cop.bbs.service.CtgryMasterVO;
 import net.sf.json.JSONObject;
@@ -34,7 +34,7 @@
     protected EgovPropertyService propertiesService;
 	
     //COMTNBBSCTGRYMASTER 목록을 조회한다. (pageing)
-    @RequestMapping(value="/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do")
+    @RequestMapping(value="/manage/cop/bbs/ctg/selectBBSCtgryMasterList.do")
     public String selectBBSCtgryMasterList(@ModelAttribute("searchVO") CtgryMasterVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	/*
     	List<SiteManageVO> siteList = siteManageService.selectSiteSimpleList();
@@ -74,10 +74,10 @@
 		}
         model.addAttribute("paginationInfo", paginationInfo);
         
-        return "/mng/cop/bbs/ctg/CtgryMasterList";
+        return "/manage/cop/bbs/ctg/CtgryMasterList";
     } 
     
-    @RequestMapping("/mng/cop/bbs/ctg/addBBSCtgryMaster.do")
+    @RequestMapping("/manage/cop/bbs/ctg/addBBSCtgryMaster.do")
     public String addComtnbbsctgrymasterView(@ModelAttribute("searchVO") CtgryMasterVO searchVO, Model model, HttpServletRequest request) throws Exception {
     	
 		//model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
@@ -86,24 +86,24 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/bbs/ctg/CtgryMasterRegist";
+        return "/manage/cop/bbs/ctg/CtgryMasterRegist";
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgryMaster.do")
+    @RequestMapping("/manage/cop/bbs/ctg/insertBBSCtgryMaster.do")
     public String addComtnbbsctgrymaster(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO, HttpServletRequest request) throws Exception {
         
     	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+			return "forward:/manage/cop/bbs/ctg/selectBBSCtgryMasterList.do";
 		}
 
         bbsCtgryMasterService.insertComtnbbsctgrymaster(ctgryMaster);
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+        return "forward:/manage/cop/bbs/ctg/selectBBSCtgryMasterList.do";
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgryMaster.json")
+    @RequestMapping("/manage/cop/bbs/ctg/insertBBSCtgryMaster.json")
     public void addComtnbbsctgrymasterJson(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
         
         String successYn = "Y";
@@ -122,7 +122,7 @@
 		printwriter.close();
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/selectBBSCtgryMaster.do")
+    @RequestMapping("/manage/cop/bbs/ctg/selectBBSCtgryMaster.do")
     public String selectBBSCtgryMaster(@ModelAttribute("searchVO") CtgryMasterVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	//model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
@@ -131,27 +131,27 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/bbs/ctg/CtgryMasterRegist";
+        return "/manage/cop/bbs/ctg/CtgryMasterRegist";
     }
 
-    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgryMaster.do")
+    @RequestMapping("/manage/cop/bbs/ctg/updateBBSCtgryMaster.do")
     public String updateComtnbbsctgrymaster(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO, HttpServletRequest request) throws Exception {
         
     	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+			return "forward:/manage/cop/bbs/ctg/selectBBSCtgryMasterList.do";
 		}
 
         bbsCtgryMasterService.updateComtnbbsctgrymaster(ctgryMaster);
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+        return "forward:/manage/cop/bbs/ctg/selectBBSCtgryMasterList.do";
     }
     
-    @RequestMapping("/mng/cop/bbs/ctg/deleteBBSCtgryMaster.do")
+    @RequestMapping("/manage/cop/bbs/ctg/deleteBBSCtgryMaster.do")
     public String deleteComtnbbsctgrymaster(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO) throws Exception {
         bbsCtgryMasterService.deleteComtnbbsctgrymaster(ctgryMaster);
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+        return "forward:/manage/cop/bbs/ctg/selectBBSCtgryMasterList.do";
     }
     
 }
base/src/main/java/egovframework/com/mng/cop/cmy/web/EgovCommunityManageController.java
--- base/src/main/java/egovframework/com/mng/cop/cmy/web/EgovCommunityManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/cmy/web/EgovCommunityManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -69,7 +69,7 @@
      * @throws Exception
      */
 	@SuppressWarnings("rawtypes")
-	@RequestMapping("/mng/cop/cmy/selectCmmntyUseList.do")
+	@RequestMapping("/manage/cop/cmy/selectCmmntyUseList.do")
     public String selectCmmntyMainList(@ModelAttribute("searchVO") CommunityVO cmmntyVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 		LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -104,7 +104,7 @@
 		model.addAttribute("resultCnt", map.get("resultCnt"));
 		model.addAttribute("paginationInfo", paginationInfo);
 		
-		return "mng/cop/cmy/EgovCmmntyUseList";
+		return "manage/cop/cmy/EgovCmmntyUseList";
     }
 	
 	/**
@@ -115,7 +115,7 @@
      * @return
      * @throws Exception
      */
-    @RequestMapping("/mng/cop/cmy/selectCmmntyUseInfo.do")
+    @RequestMapping("/manage/cop/cmy/selectCmmntyUseInfo.do")
     public String selectCmmntyView(@ModelAttribute("searchVO") CommunityVO cmmntyVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
     	SiteManageVO siteParamVO = new SiteManageVO();
@@ -139,7 +139,7 @@
 		model.addAttribute("communityVO", cmmntyService.selectCommunityInf(cmmntyVO));
 
 		request.getSession().setAttribute("sessionVO", cmmntyVO);
-		return "mng/cop/cmy/EgovCmmntyUseInfo";
+		return "manage/cop/cmy/EgovCmmntyUseInfo";
     }
 
     /**
@@ -152,14 +152,14 @@
      * @throws Exception
      */
     @SuppressWarnings("unchecked")
-    @RequestMapping("/mng/cop/cmy/updtCmmntyUseInf.do")
+    @RequestMapping("/manage/cop/cmy/updtCmmntyUseInf.do")
     public String updtCmmntyInf(final MultipartHttpServletRequest multiRequest, 
     		@ModelAttribute("searchVO") CommunityVO cmmntyVO, 
     		Community community,
     		BindingResult bindingResult, ModelMap model,  
     		HttpServletRequest request, HttpServletResponse response) throws Exception {
 
-    	if (request.getSession().getAttribute("sessionVO") == null) return "forward:/mng/cop/cmy/selectCmmntyUseList.do";
+    	if (request.getSession().getAttribute("sessionVO") == null) return "forward:/manage/cop/cmy/selectCmmntyUseList.do";
     	
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 
@@ -180,7 +180,7 @@
 	    	model.addAttribute("cmmntySe", listComCode);
 	    	
 			model.addAttribute("communityVO", cmmntyService.selectCommunityInf(cmmntyVO));
-			return "mng/cop/cmy/EgovCmmntyUseInfo";
+			return "manage/cop/cmy/EgovCmmntyUseInfo";
 		}
 
 		List<FileVO> result = null;
@@ -195,7 +195,7 @@
 		cmmntyService.updateCommunityInf(community);
 
 		request.getSession().removeAttribute("sessionVO");
-		return "forward:/mng/cop/cmy/selectCmmntyUseList.do";
+		return "forward:/manage/cop/cmy/selectCmmntyUseList.do";
     }
     
     /**
@@ -207,7 +207,7 @@
      * @return
      * @throws Exception
      */
-    @RequestMapping("/mng/cop/cmy/updtCmmntyClosing.do")
+    @RequestMapping("/manage/cop/cmy/updtCmmntyClosing.do")
     public String updtCmmntyCls(@ModelAttribute("searchVO") CommunityVO cmmntyVO, 
     		Community community,
     		ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
base/src/main/java/egovframework/com/mng/cop/com/web/BbsSourcManageController.java
--- base/src/main/java/egovframework/com/mng/cop/com/web/BbsSourcManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/com/web/BbsSourcManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
@@ -55,7 +55,7 @@
     @Autowired
     private DefaultBeanValidator beanValidator;
 	
-    @RequestMapping(value="/mng/cop/com/selectBbsSourcList.do")
+    @RequestMapping(value="/manage/cop/com/selectBbsSourcList.do")
     public String selectBbsSourcList(@ModelAttribute("searchVO") BbsSourcVO searchVO,	ModelMap model) throws Exception {
     	
     	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
@@ -84,10 +84,10 @@
 	    
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.bbs.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/BbsSourcList";
+        return "/manage/cop/com/BbsSourcList";
     } 
     
-    @RequestMapping("/mng/cop/com/addBbsSourc.do")
+    @RequestMapping("/manage/cop/com/addBbsSourc.do")
     public String addBbsSourc(@ModelAttribute("searchVO") BbsSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	model.addAttribute("bbsSourcVO", new BbsSourcVO());
@@ -98,15 +98,15 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/BbsSourcRegister";
+        return "/manage/cop/com/BbsSourcRegister";
     }
     
     @SuppressWarnings("unchecked")
-    @RequestMapping("/mng/cop/com/insertBbsSourc.do")
+    @RequestMapping("/manage/cop/com/insertBbsSourc.do")
     public String insertBbsSourc(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BbsSourcVO searchVO, BbsSourcVO bbsSourc, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectBbsSourcList.do";
+    		return "forward:/manage/cop/com/selectBbsSourcList.do";
     	}
     	
     	beanValidator.validate(bbsSourc, bindingResult);
@@ -117,7 +117,7 @@
 		    vo.setCodeId("COM918");	    
 		    model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo));
 			
-		    return "/mng/cop/com/BbsSourcRegister";
+		    return "/manage/cop/com/BbsSourcRegister";
 		}
 		
 		List<FileVO> result = null;    
@@ -142,10 +142,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectBbsSourcList.do";
+        return "forward:/manage/cop/com/selectBbsSourcList.do";
     }
     
-    @RequestMapping("/mng/cop/com/selectBbsSourc.do")
+    @RequestMapping("/manage/cop/com/selectBbsSourc.do")
     public String selectBbsSourc(@ModelAttribute("searchVO") BbsSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	model.addAttribute("bbsSourcVO",  bbsSourcService.selectBbsSourc(searchVO));
@@ -158,15 +158,15 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/BbsSourcRegister";
+        return "/manage/cop/com/BbsSourcRegister";
     }
 
     @SuppressWarnings("unchecked")
-    @RequestMapping("//mng/cop/com/updateBbsSourc.do")
+    @RequestMapping("//manage/cop/com/updateBbsSourc.do")
     public String updateBbsSourc(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BbsSourcVO searchVO, BbsSourcVO bbsSourc, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectBbsSourcList.do";
+    		return "forward:/manage/cop/com/selectBbsSourcList.do";
     	}
     	
     	beanValidator.validate(bbsSourc, bindingResult);
@@ -179,7 +179,7 @@
 			
 			model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.bbs.fileStoreWebPathByPreFile"));
 			
-		    return "/mng/cop/com/BbsSourcRegister";
+		    return "/manage/cop/com/BbsSourcRegister";
 		}
 		
 		List<FileVO> result = null;    
@@ -204,10 +204,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectBbsSourcList.do";
+        return "forward:/manage/cop/com/selectBbsSourcList.do";
     }
     
-    @RequestMapping("/mng/cop/com/deleteBbsSourc.do")
+    @RequestMapping("/manage/cop/com/deleteBbsSourc.do")
     public String deleteBbsSourc(@ModelAttribute("searchVO") BbsSourcVO searchVO, BbsSourcVO bbsSourc, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -215,10 +215,10 @@
     	
     	bbsSourcService.deleteBbsSourc(bbsSourc);
         
-    	return "forward:/mng/cop/com/selectBbsSourcList.do";
+    	return "forward:/manage/cop/com/selectBbsSourcList.do";
     }
     
-    @RequestMapping(value="/mng/cop/com/selectBbsSourcHistoryList.do")
+    @RequestMapping(value="/manage/cop/com/selectBbsSourcHistoryList.do")
     public String selectBbsSourcHistoryList(@ModelAttribute("searchVO") BbsSourcVO searchVO, 
     		ModelMap model)
             throws Exception {
@@ -244,20 +244,20 @@
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
         
-        return "/mng/cop/com/BbsSourcHistoryList";
+        return "/manage/cop/com/BbsSourcHistoryList";
     } 
     
-    @RequestMapping("/mng/cop/com/selectBbsSourcHistory.do")
+    @RequestMapping("/manage/cop/com/selectBbsSourcHistory.do")
     public String selectBbsSourcHistory(@ModelAttribute("searchVO") BbsSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         	    
         model.addAttribute("bbsSourcVO", bbsSourcHistoryService.selectBbsSourcHistory(searchVO));
         
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.bbs.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/BbsSourcHistoryView";
+        return "/manage/cop/com/BbsSourcHistoryView";
     }
     
-    @RequestMapping("/mng/cop/com/updateBbsSourcRollBack.do")
+    @RequestMapping("/manage/cop/com/updateBbsSourcRollBack.do")
     public String updateBbsSourcRollBack(@ModelAttribute("searchVO") BbsSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	BbsSourcVO his = bbsSourcHistoryService.selectBbsSourcHistory(searchVO);
@@ -266,10 +266,10 @@
     		model.addAttribute("rollbackComplete", "Y");
     	}
         
-    	return "forward:/mng/cop/com/selectBbsSourcHistoryList.do";
+    	return "forward:/manage/cop/com/selectBbsSourcHistoryList.do";
     }
 
-    @RequestMapping("/mng/cop/com/selectBbsOriginSource.do")
+    @RequestMapping("/manage/cop/com/selectBbsOriginSource.do")
     public void selectBbsOriginSource(@ModelAttribute("searchVO") BbsSourcVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
   	  
     	JSONObject jObj = new JSONObject();
@@ -286,7 +286,7 @@
   		printwriter.close();
     }
     
-    @RequestMapping("/mng/cop/com/selectBbsCopySource.do")
+    @RequestMapping("/manage/cop/com/selectBbsCopySource.do")
     public void selectBbsCopySource(@ModelAttribute("searchVO") BbsSourcVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
   	  
     	BbsSourcVO vo = bbsSourcService.selectBbsSourc(searchVO);
base/src/main/java/egovframework/com/mng/cop/com/web/BbsTmplatManageController.java
--- base/src/main/java/egovframework/com/mng/cop/com/web/BbsTmplatManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/com/web/BbsTmplatManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
@@ -54,7 +54,7 @@
     @Autowired
     private DefaultBeanValidator beanValidator;
 	
-    @RequestMapping(value="/mng/cop/com/selectBbsTemplateList.do")
+    @RequestMapping(value="/manage/cop/com/selectBbsTemplateList.do")
     public String selectBbsTmplatList(@ModelAttribute("searchVO") BbsTmplatVO searchVO,	ModelMap model) throws Exception {
     	
     	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
@@ -83,10 +83,10 @@
 	    
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.tmplat.bbs.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/BbsTemplateList";
+        return "/manage/cop/com/BbsTemplateList";
     } 
     
-    @RequestMapping("/mng/cop/com/addBbsTemplate.do")
+    @RequestMapping("/manage/cop/com/addBbsTemplate.do")
     public String addBbsTmplat(@ModelAttribute("searchVO") BbsTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	model.addAttribute("bbsTmplatVO", new BbsTmplatVO());
@@ -97,14 +97,14 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/BbsTemplateRegister";
+        return "/manage/cop/com/BbsTemplateRegister";
     }
     
-    @RequestMapping("/mng/cop/com/insertBbsTemplate.do")
+    @RequestMapping("/manage/cop/com/insertBbsTemplate.do")
     public String insertBbsTmplat(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BbsTmplatVO searchVO, BbsTmplatVO bbsTmplat, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectBbsTemplateList.do";
+    		return "forward:/manage/cop/com/selectBbsTemplateList.do";
     	}
     	
     	beanValidator.validate(bbsTmplat, bindingResult);
@@ -115,7 +115,7 @@
 		    vo.setCodeId("COM919");	    
 		    model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo));
 			
-		    return "/mng/cop/com/BbsTemplateRegister";
+		    return "/manage/cop/com/BbsTemplateRegister";
 		}
 		
 		List<FileVO> result = null;    
@@ -140,10 +140,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectBbsTemplateList.do";
+        return "forward:/manage/cop/com/selectBbsTemplateList.do";
     }
     
-    @RequestMapping("/mng/cop/com/selectBbsTemplate.do")
+    @RequestMapping("/manage/cop/com/selectBbsTemplate.do")
     public String selectBbsTmplat(@ModelAttribute("searchVO") BbsTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	model.addAttribute("bbsTmplatVO",  bbsTmplatService.selectBbsTmplat(searchVO));
@@ -156,14 +156,14 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/BbsTemplateRegister";
+        return "/manage/cop/com/BbsTemplateRegister";
     }
 
-    @RequestMapping("//mng/cop/com/updateBbsTemplate.do")
+    @RequestMapping("//manage/cop/com/updateBbsTemplate.do")
     public String updateBbsTmplat(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BbsTmplatVO searchVO, BbsTmplatVO bbsTmplat, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectBbsTemplateList.do";
+    		return "forward:/manage/cop/com/selectBbsTemplateList.do";
     	}
     	
     	beanValidator.validate(bbsTmplat, bindingResult);
@@ -176,7 +176,7 @@
 			
 			model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.tmplat.bbs.fileStoreWebPathByPreFile"));
 			
-		    return "/mng/cop/com/BbsTemplateRegister";
+		    return "/manage/cop/com/BbsTemplateRegister";
 		}
 		
 		List<FileVO> result = null;    
@@ -201,10 +201,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectBbsTemplateList.do";
+        return "forward:/manage/cop/com/selectBbsTemplateList.do";
     }
     
-    @RequestMapping("/mng/cop/com/deleteBbsTemplate.do")
+    @RequestMapping("/manage/cop/com/deleteBbsTemplate.do")
     public String deleteBbsTmplat(@ModelAttribute("searchVO") BbsTmplatVO searchVO, BbsTmplatVO bbsTmplat, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -212,10 +212,10 @@
     	
     	bbsTmplatService.deleteBbsTmplat(bbsTmplat);
         
-    	return "forward:/mng/cop/com/selectBbsTemplateList.do";
+    	return "forward:/manage/cop/com/selectBbsTemplateList.do";
     }
     
-    @RequestMapping(value="/mng/cop/com/selectBbsTemplateHistoryList.do")
+    @RequestMapping(value="/manage/cop/com/selectBbsTemplateHistoryList.do")
     public String selectBbsTemplateHistoryList(@ModelAttribute("searchVO") BbsTmplatVO searchVO, 
     		ModelMap model)
             throws Exception {
@@ -241,20 +241,20 @@
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
         
-        return "/mng/cop/com/BbsTemplateHistoryList";
+        return "/manage/cop/com/BbsTemplateHistoryList";
     } 
     
-    @RequestMapping("/mng/cop/com/selectBbsTemplateHistory.do")
+    @RequestMapping("/manage/cop/com/selectBbsTemplateHistory.do")
     public String selectBbsTemplateHistory(@ModelAttribute("searchVO") BbsTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
         	    
         model.addAttribute("bbsTmplatVO", bbsTmplatHistoryService.selectBbsTmplatHistory(searchVO));
         
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.tmplat.bbs.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/BbsTemplateHistoryView";
+        return "/manage/cop/com/BbsTemplateHistoryView";
     }
     
-    @RequestMapping("/mng/cop/com/updateBbsTemplateRollBack.do")
+    @RequestMapping("/manage/cop/com/updateBbsTemplateRollBack.do")
     public String updateBbsTemplateRollBack(@ModelAttribute("searchVO") BbsTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	BbsTmplatVO his = bbsTmplatHistoryService.selectBbsTmplatHistory(searchVO);
@@ -263,10 +263,10 @@
     		model.addAttribute("rollbackComplete", "Y");
     	}
         
-    	return "forward:/mng/cop/com/selectBbsTemplateHistoryList.do";
+    	return "forward:/manage/cop/com/selectBbsTemplateHistoryList.do";
     }
     
-    @RequestMapping("/mng/cop/com/selectBbsCopyTemplate.do")
+    @RequestMapping("/manage/cop/com/selectBbsCopyTemplate.do")
     public void selectBbsCopySource(@ModelAttribute("searchVO") BbsTmplatVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
   	  
     	BbsTmplatVO vo = bbsTmplatService.selectBbsTmplat(searchVO);
base/src/main/java/egovframework/com/mng/cop/com/web/LytSourcManageController.java
--- base/src/main/java/egovframework/com/mng/cop/com/web/LytSourcManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/com/web/LytSourcManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
@@ -57,7 +57,7 @@
     @Autowired
     private DefaultBeanValidator beanValidator;
     
-    @RequestMapping(value="/mng/cop/com/selectLytSourcList.do")
+    @RequestMapping(value="/manage/cop/com/selectLytSourcList.do")
     public String selectLytSourcList(@ModelAttribute("searchVO") LytSourcVO searchVO, ModelMap model) throws Exception {
     	
     	/** EgovPropertyService.sample */
@@ -87,10 +87,10 @@
         
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.lyt.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/LytSourcList";
+        return "/manage/cop/com/LytSourcList";
     } 
     
-    @RequestMapping("/mng/cop/com/addLytSourc.do")
+    @RequestMapping("/manage/cop/com/addLytSourc.do")
     public String addLytSourc(@ModelAttribute("searchVO") LytSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
     		    
         model.addAttribute("lytSourcVO", new LytSourcVO());
@@ -101,14 +101,14 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/LytSourcRegister";
+        return "/manage/cop/com/LytSourcRegister";
     }
     
-    @RequestMapping("/mng/cop/com/insertLytSourc.do")
+    @RequestMapping("/manage/cop/com/insertLytSourc.do")
     public String insertLytSourc(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") LytSourcVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectLytSourcList.do";
+    		return "forward:/manage/cop/com/selectLytSourcList.do";
     	}
     	
     	List<FileVO> result = null;    
@@ -133,10 +133,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectLytSourcList.do";
+        return "forward:/manage/cop/com/selectLytSourcList.do";
     }
     
-    @RequestMapping("/mng/cop/com/selectLytSourc.do")
+    @RequestMapping("/manage/cop/com/selectLytSourc.do")
     public String selectLytSourc(@ModelAttribute("searchVO") LytSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
         model.addAttribute("lytSourcVO", lytSourcService.selectLytSourc(searchVO));
@@ -149,15 +149,15 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/LytSourcRegister";
+        return "/manage/cop/com/LytSourcRegister";
     }
 
     @SuppressWarnings("unchecked")
-    @RequestMapping("/mng/cop/com/updateLytSourc.do")
+    @RequestMapping("/manage/cop/com/updateLytSourc.do")
     public String updateLytSourc(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") LytSourcVO searchVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectLytSourcList.do";
+    		return "forward:/manage/cop/com/selectLytSourcList.do";
     	}
     	
     	beanValidator.validate(searchVO, bindingResult);
@@ -170,7 +170,7 @@
     	    
 		    model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.lyt.fileStoreWebPathByPreFile"));
 		    
-		    return "/mng/cop/com/LytSourcRegister";
+		    return "/manage/cop/com/LytSourcRegister";
 		}
     	
     	List<FileVO> result = null;    
@@ -195,10 +195,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectLytSourcList.do";
+        return "forward:/manage/cop/com/selectLytSourcList.do";
     }
     
-    @RequestMapping("/mng/cop/com/deleteLytSourc.do")
+    @RequestMapping("/manage/cop/com/deleteLytSourc.do")
     public String deleteLytSourc(@ModelAttribute("searchVO") LytSourcVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -206,11 +206,11 @@
     	
     	lytSourcService.deleteLytSourc(searchVO);
     	
-        return "forward:/mng/cop/com/selectLytSourcList.do";
+        return "forward:/manage/cop/com/selectLytSourcList.do";
     }
     
     
-    @RequestMapping(value="/mng/cop/com/selectLytSourcHistoryList.do")
+    @RequestMapping(value="/manage/cop/com/selectLytSourcHistoryList.do")
     public String selectLytSourcHistoryList(@ModelAttribute("searchVO") LytSourcVO searchVO, ModelMap model) throws Exception {
     	
     	/** EgovPropertyService.sample */
@@ -234,20 +234,20 @@
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
         
-        return "/mng/cop/com/LytSourcHistoryList";
+        return "/manage/cop/com/LytSourcHistoryList";
     } 
     
-    @RequestMapping("/mng/cop/com/selectLytSourcHistory.do")
+    @RequestMapping("/manage/cop/com/selectLytSourcHistory.do")
     public String selectLytSourcHistory(@ModelAttribute("searchVO") LytSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         	    
         model.addAttribute("lytSourcVO", lytSourcHistoryService.selectLytSourcHistory(searchVO));
         
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.lyt.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/LytSourcHistoryView";
+        return "/manage/cop/com/LytSourcHistoryView";
     }
     
-    @RequestMapping("/mng/cop/com/updateLytSourcRollBack.do")
+    @RequestMapping("/manage/cop/com/updateLytSourcRollBack.do")
     public String updateLytSourcRollBack(@ModelAttribute("searchVO") LytSourcVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	LytSourcVO his = lytSourcHistoryService.selectLytSourcHistory(searchVO);
@@ -257,10 +257,10 @@
     		model.addAttribute("rollbackComplete", "Y");
     	}
         
-    	return "forward:/mng/cop/com/selectLytSourcHistoryList.do";
+    	return "forward:/manage/cop/com/selectLytSourcHistoryList.do";
     }
    
-    @RequestMapping("/mng/cop/com/selectLytOriginSource.do")
+    @RequestMapping("/manage/cop/com/selectLytOriginSource.do")
     public void selectLytOriginSource(@ModelAttribute("searchVO") LytSourcVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
   	  
     	JSONObject jObj = new JSONObject();
@@ -275,7 +275,7 @@
   		printwriter.close();
     }
     
-    @RequestMapping("/mng/cop/com/selectLytCopySource.do")
+    @RequestMapping("/manage/cop/com/selectLytCopySource.do")
     public void selectLytCopySource(@ModelAttribute("searchVO") LytSourcVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
   	  
     	LytSourcVO vo = lytSourcService.selectLytSourc(searchVO);
base/src/main/java/egovframework/com/mng/cop/com/web/LytTmplatManageController.java
--- base/src/main/java/egovframework/com/mng/cop/com/web/LytTmplatManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/com/web/LytTmplatManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
@@ -55,7 +55,7 @@
     @Autowired
     private DefaultBeanValidator beanValidator;
     
-    @RequestMapping(value="/mng/cop/com/selectLytTemplateList.do")
+    @RequestMapping(value="/manage/cop/com/selectLytTemplateList.do")
     public String selectLytTemplateList(@ModelAttribute("searchVO") LytTmplatVO searchVO, ModelMap model) throws Exception {
     	
     	/** EgovPropertyService.sample */
@@ -88,10 +88,10 @@
         
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.tmplat.lyt.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/LytTemplateList";
+        return "/manage/cop/com/LytTemplateList";
     } 
     
-    @RequestMapping("/mng/cop/com/addLytTemplate.do")
+    @RequestMapping("/manage/cop/com/addLytTemplate.do")
     public String addLytTemplate(@ModelAttribute("searchVO") LytTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
     	
     	CmmnDetailCodeVO vo = new CmmnDetailCodeVO();	    
@@ -105,14 +105,14 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/LytTemplateRegister";
+        return "/manage/cop/com/LytTemplateRegister";
     }
     
-    @RequestMapping("/mng/cop/com/insertLytTemplate.do")
+    @RequestMapping("/manage/cop/com/insertLytTemplate.do")
     public String insertLytTemplate(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") LytTmplatVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectLytTemplateList.do";
+    		return "forward:/manage/cop/com/selectLytTemplateList.do";
     	}
     	
     	List<FileVO> result = null;    
@@ -137,10 +137,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectLytTemplateList.do";
+        return "forward:/manage/cop/com/selectLytTemplateList.do";
     }
     
-    @RequestMapping("/mng/cop/com/selectLytTemplate.do")
+    @RequestMapping("/manage/cop/com/selectLytTemplate.do")
     public String selectLytTemplate(@ModelAttribute("searchVO") LytTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
         
     	CmmnDetailCodeVO vo = new CmmnDetailCodeVO();	    
@@ -156,14 +156,14 @@
         
         request.getSession().setAttribute("sessionVO", searchVO);
         
-        return "/mng/cop/com/LytTemplateRegister";
+        return "/manage/cop/com/LytTemplateRegister";
     }
 
-    @RequestMapping("/mng/cop/com/updateLytTemplate.do")
+    @RequestMapping("/manage/cop/com/updateLytTemplate.do")
     public String updateLytTemplate(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") LytTmplatVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/cop/com/selectLytTemplateList.do";
+    		return "forward:/manage/cop/com/selectLytTemplateList.do";
     	}
     	
     	List<FileVO> result = null;    
@@ -188,10 +188,10 @@
     	
     	request.getSession().removeAttribute("sessionVO");
     	
-        return "forward:/mng/cop/com/selectLytTemplateList.do";
+        return "forward:/manage/cop/com/selectLytTemplateList.do";
     }
     
-    @RequestMapping("/mng/cop/com/deleteLytTemplate.do")
+    @RequestMapping("/manage/cop/com/deleteLytTemplate.do")
     public String deleteLytTemplate(@ModelAttribute("searchVO") LytTmplatVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -199,11 +199,11 @@
     	
     	lytTmplatService.deleteLytTmplat(searchVO);
     	
-        return "forward:/mng/cop/com/selectLytTemplateList.do";
+        return "forward:/manage/cop/com/selectLytTemplateList.do";
     }
     
     
-    @RequestMapping(value="/mng/cop/com/selectLytTemplateHistoryList.do")
+    @RequestMapping(value="/manage/cop/com/selectLytTemplateHistoryList.do")
     public String selectLytTemplateHistoryList(@ModelAttribute("searchVO") LytTmplatVO searchVO, ModelMap model) throws Exception {
     	
     	/** EgovPropertyService.sample */
@@ -227,20 +227,20 @@
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
         
-        return "/mng/cop/com/LytTemplateHistoryList";
+        return "/manage/cop/com/LytTemplateHistoryList";
     } 
     
-    @RequestMapping("/mng/cop/com/selectLytTemplateHistory.do")
+    @RequestMapping("/manage/cop/com/selectLytTemplateHistory.do")
     public String selectLytTemplateHistory(@ModelAttribute("searchVO") LytTmplatVO searchVO, Model model, HttpServletRequest request) throws Exception {
         	    
         model.addAttribute("lytTmplatVO", lytTmplatHistoryService.selectLytTmplatHistory(searchVO));
         
         model.addAttribute("fileStoreWebPathByPreFile", propertiesService.getString("publish.tmplat.lyt.fileStoreWebPathByPreFile"));
         
-        return "/mng/cop/com/LytTemplateHistoryView";
+        return "/manage/cop/com/LytTemplateHistoryView";
     }
     
-    @RequestMapping("/mng/cop/com/updateLytTemplateRollBack.do")
+    @RequestMapping("/manage/cop/com/updateLytTemplateRollBack.do")
     public String updateLytTemplateRollBack(@ModelAttribute("searchVO") LytTmplatVO searchVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
         
     	LytTmplatVO his = lytTmplatHistoryService.selectLytTmplatHistory(searchVO);
@@ -252,10 +252,10 @@
     		model.addAttribute("rollbackComplete", "Y");
     	}
         
-    	return "forward:/mng/cop/com/selectLytTemplateHistoryList.do";
+    	return "forward:/manage/cop/com/selectLytTemplateHistoryList.do";
     }
        
-    @RequestMapping("/mng/cop/com/selectLytCopyTemplate.do")
+    @RequestMapping("/manage/cop/com/selectLytCopyTemplate.do")
     public void selectLytCopySource(@ModelAttribute("searchVO") LytTmplatVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
   	  
     	LytTmplatVO vo = lytTmplatService.selectLytTmplat(searchVO);
base/src/main/java/egovframework/com/mng/ems/web/UserEmsMngController.java
--- base/src/main/java/egovframework/com/mng/ems/web/UserEmsMngController.java
+++ base/src/main/java/egovframework/com/mng/ems/web/UserEmsMngController.java
@@ -1,60 +1,60 @@
-package egovframework.com.mng.ems.web;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import egovframework.module.ems.service.MailMessageVO;
-import egovframework.module.ems.service.DirectMailService;
-
-/******************************************************
- * @Class Name : UserEmsMngController.java
- * @Program name : egovframework.com.mng.ems.web
- * @Descriptopn : 메일발송 관리 Controller
- * @version : 1.0.0
- * @author : 비상을꿈꾸며
- * @created date : 2011. 12. 7.
- * Modification log
- * =====================================================
- * date                name             description
- * -----------------------------------------------------
- * 2011. 12. 7.        비상을꿈꾸며      first generated
-*********************************************************/
-
-@Controller
-public class UserEmsMngController {
-
-	@Resource(name = "directMailService")
-    private DirectMailService directMailService;
-	
-	/**
-     * 메일발송 화면
-     * @param model 화면모델
-     * @return mng/ems/ComtnemsInfo
-     * @throws Exception
-     */
-	@RequestMapping(value = "/mng/ems/selectEmsManage.do")
-	public String selectEmsManage(@ModelAttribute("mailMessageVO") MailMessageVO mailMessageVO, ModelMap model, HttpServletRequest request) throws Exception {
-		
-		return "mng/ems/ComtnemsInfo";
-	}
-
-	/**
-     * 메일발송
-     * @param model 화면모델
-     * @return mng/ems/ComtnemsInfo
-     * @throws Exception
-     */
-	@RequestMapping(value = "/mng/ems/addEmsManage.do")
-	public String addEmsManage(@ModelAttribute("mailMessageVO") MailMessageVO mailMessageVO, ModelMap model, HttpServletRequest request) throws Exception {
-
-		directMailService.sendManageMail(mailMessageVO);
-		
-		model.addAttribute("message", "발송 하였습니다.");
-		return "forward:/mng/ems/selectEmsManage.do";
-	}
-}
+package egovframework.com.mng.ems.web;
+
+import javax.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import egovframework.module.ems.service.MailMessageVO;
+import egovframework.module.ems.service.DirectMailService;
+
+/******************************************************
+ * @Class Name : UserEmsMngController.java
+ * @Program name : egovframework.com.mng.ems.web
+ * @Descriptopn : 메일발송 관리 Controller
+ * @version : 1.0.0
+ * @author : 비상을꿈꾸며
+ * @created date : 2011. 12. 7.
+ * Modification log
+ * =====================================================
+ * date                name             description
+ * -----------------------------------------------------
+ * 2011. 12. 7.        비상을꿈꾸며      first generated
+*********************************************************/
+
+@Controller
+public class UserEmsMngController {
+
+	@Resource(name = "directMailService")
+    private DirectMailService directMailService;
+	
+	/**
+     * 메일발송 화면
+     * @param model 화면모델
+     * @return mng/ems/ComtnemsInfo
+     * @throws Exception
+     */
+	@RequestMapping(value = "/manage/ems/selectEmsManage.do")
+	public String selectEmsManage(@ModelAttribute("mailMessageVO") MailMessageVO mailMessageVO, ModelMap model, HttpServletRequest request) throws Exception {
+		
+		return "manage/ems/ComtnemsInfo";
+	}
+
+	/**
+     * 메일발송
+     * @param model 화면모델
+     * @return mng/ems/ComtnemsInfo
+     * @throws Exception
+     */
+	@RequestMapping(value = "/manage/ems/addEmsManage.do")
+	public String addEmsManage(@ModelAttribute("mailMessageVO") MailMessageVO mailMessageVO, ModelMap model, HttpServletRequest request) throws Exception {
+
+		directMailService.sendManageMail(mailMessageVO);
+		
+		model.addAttribute("message", "발송 하였습니다.");
+		return "forward:/manage/ems/selectEmsManage.do";
+	}
+}
base/src/main/java/egovframework/com/mng/evt/ComtnschdulinfoMngController.java
--- base/src/main/java/egovframework/com/mng/evt/ComtnschdulinfoMngController.java
+++ base/src/main/java/egovframework/com/mng/evt/ComtnschdulinfoMngController.java
@@ -4,8 +4,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -65,7 +65,7 @@
 	private EgovMessageSource egovMessageSource;
     
 	//스케쥴 목록을 조회한다.
-	@RequestMapping(value="/mng/evt/selectSchdulinfoList.do")
+	@RequestMapping(value="/manage/evt/selectSchdulinfoList.do")
     public String selectComtnschdulinfoList(@ModelAttribute("searchVO") ComtnschdulinfoVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		
 		LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -101,11 +101,11 @@
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
     	
-        return "mng/evt/ComtnschdulinfoMngList";
+        return "manage/evt/ComtnschdulinfoMngList";
     } 
     
     //스케쥴 등록 화면으로 이동한다.
-    @RequestMapping("/mng/evt/addComtnschdulinfoView.do")
+    @RequestMapping("/manage/evt/addComtnschdulinfoView.do")
     public String addComtnschdulinfoView(@ModelAttribute("searchVO") ComtnschdulinfoVO searchVO, ComtnschdulinfoVO comtnschdulinfoVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	//스케쥴 코드
@@ -116,16 +116,16 @@
     	model.addAttribute("codeList",cmmUseService.selectCmmCodeDetail(vo));
     	request.getSession().setAttribute("sessionVO", comtnschdulinfoVO);
         model.addAttribute("comtnschdulinfoVO", comtnschdulinfoVO);
-        return "mng/evt/ComtnschdulinfoMngRegister";
+        return "manage/evt/ComtnschdulinfoMngRegister";
     }
     
     //스케쥴 등록/수정 처리후 메인화면으로 이동한다.
-    @RequestMapping("/mng/evt/processComtnschdulinfo.do")
+    @RequestMapping("/manage/evt/processComtnschdulinfo.do")
     public String addComtnschdulinfo(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") ComtnschdulinfoVO searchVO, ComtnschdulinfoVO comtnschdulinfoVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
     	
     	if(request.getSession().getAttribute("sessionVO") == null) {
-    		return "forward:/mng/evt/selectSchdulinfoList.do";
+    		return "forward:/manage/evt/selectSchdulinfoList.do";
     	}
     	beanValidator.validate(comtnschdulinfoVO, bindingResult);
         if(bindingResult.hasErrors()) {
@@ -135,7 +135,7 @@
         	model.addAttribute("codeList",cmmUseService.selectCmmCodeDetail(vo));
         	
         	model.addAttribute("comtnschdulinfoVO", comtnschdulinfoVO);
-        	return "mng/evt/ComtnschdulinfoMngRegister";
+        	return "manage/evt/ComtnschdulinfoMngRegister";
         }
 
         List<FileVO> result = null;
@@ -157,11 +157,11 @@
         }
         */
         request.getSession().removeAttribute("sessionVO");
-        return "forward:/mng/evt/selectSchdulinfoList.do";
+        return "forward:/manage/evt/selectSchdulinfoList.do";
     }
     
     //스케쥴 수정 화면으로 이동한다.
-    @RequestMapping("/mng/evt/updateComtnschdulinfoView.do")
+    @RequestMapping("/manage/evt/updateComtnschdulinfoView.do")
     public String updateComtnschdulinfoView(@ModelAttribute("searchVO") ComtnschdulinfoVO searchVO, ComtnschdulinfoVO comtnschdulinfoVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	//스케쥴 코드
@@ -176,11 +176,11 @@
     	request.getSession().setAttribute("sessionVO", comtnschdulinfoVO);
     	model.addAttribute("comtnschdulItem", comtnschdulinfoService.selectComtnschduInfo(comtnschdulinfoVO));
         */
-        return "mng/evt/ComtnschdulinfoMngRegister";
+        return "manage/evt/ComtnschdulinfoMngRegister";
     }
     
     //스케쥴 수정처리후 메인화면으로 이동한다.
-    @RequestMapping("/mng/evt/updateComtnschdulinfo.do")
+    @RequestMapping("/manage/evt/updateComtnschdulinfo.do")
     public String updateComtnschdulinfo(final MultipartHttpServletRequest multiRequest, ComtnschdulinfoVO comtnschdulinfoVO, @ModelAttribute("searchVO") ComtnschdulinfoVO searchVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -195,7 +195,7 @@
         	model.addAttribute("codeList",cmmUseService.selectCmmCodeDetail(vo));
         	
         	model.addAttribute("comtnschdulinfoVO", comtnschdulinfoVO);
-        	return "mng/evt/ComtnschdulinfoMngRegister";
+        	return "manage/evt/ComtnschdulinfoMngRegister";
         }
         
     	List<FileVO> result = null;
@@ -213,15 +213,15 @@
         comtnschdulinfoVO.setAtchFileId(atchFileId);
         //comtnschdulinfoService.updateComtnschdulinfo(comtnschdulinfoVO);
 
-        return "forward:/mng/evt/selectSchdulinfoList.do";
+        return "forward:/manage/evt/selectSchdulinfoList.do";
     }
 
     //행사 및 이벤트를 삭제 한다.
-    @RequestMapping("/mng/evt/deleteComtnschdulinfo.do")
+    @RequestMapping("/manage/evt/deleteComtnschdulinfo.do")
     public String deleteComtnschdulinfo(ComtnschdulinfoVO comtnschdulinfoVO, @ModelAttribute("searchVO") ComtnschdulinfoVO searchVO, SessionStatus status) throws Exception {
         //comtnschdulinfoService.deleteComtnschdulinfo(comtnschdulinfoVO);
         status.setComplete();
-        return "forward:/mng/evt/selectSchdulinfoList.do";
+        return "forward:/manage/evt/selectSchdulinfoList.do";
     }
 
     
base/src/main/java/egovframework/com/mng/msi/web/TemplateController.java
--- base/src/main/java/egovframework/com/mng/msi/web/TemplateController.java
+++ base/src/main/java/egovframework/com/mng/msi/web/TemplateController.java
@@ -3,8 +3,8 @@
 import java.util.Calendar;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -30,11 +30,11 @@
 	 * @param model
 	 * @return
 	 */
-	@RequestMapping(value = "/mng/index.do")
+	@RequestMapping(value = "/manage/index.do")
 	public String index(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
 		
 		//사이트 관리로 이동한다.
-		return "forward:/mng/sym/sit/selectSiteInfoList.do";
+		return "forward:/manage/sym/sit/selectSiteInfoList.do";
 	}
 	
 	/**
@@ -44,9 +44,9 @@
 	 * @param model
 	 * @return
 	 */
-	@RequestMapping(value = "/mng/template/top.do")
+	@RequestMapping(value = "/manage/template/top.do")
 	public String top(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
-		return "mng/template/top";
+		return "manage/template/top";
 	}
 	
 	/**
@@ -56,7 +56,7 @@
 	 * @param model
 	 * @return
 	 */
-	@RequestMapping(value = "/mng/template/bottom.do")
+	@RequestMapping(value = "/manage/template/bottom.do")
 	public String bottom(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception{
 		
 		SiteManageVO siteVO = siteManageService.selectSiteServiceInfo(request);
@@ -66,7 +66,7 @@
 		int year = aCalendar.get(Calendar.YEAR);
 		model.addAttribute("curYear", year);
 		
-		return "mng/template/bottom";
+		return "manage/template/bottom";
 	}
 
 	/**
@@ -76,9 +76,9 @@
 	 * @param model
 	 * @return
 	 */
-	@RequestMapping(value = "/mng/template/popTop.do")
+	@RequestMapping(value = "/manage/template/popTop.do")
 	public String popTop(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
-		return "mng/template/popTop";
+		return "manage/template/popTop";
 	}
 	
 	/**
@@ -88,8 +88,8 @@
 	 * @param model
 	 * @return
 	 */
-	@RequestMapping(value = "/mng/template/popBottom.do")
+	@RequestMapping(value = "/manage/template/popBottom.do")
 	public String popBottom(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
-		return "mng/template/popBottom";
+		return "manage/template/popBottom";
 	}
 }
base/src/main/java/egovframework/com/mng/sts/web/BbsStatsController.java
--- base/src/main/java/egovframework/com/mng/sts/web/BbsStatsController.java
+++ base/src/main/java/egovframework/com/mng/sts/web/BbsStatsController.java
@@ -6,8 +6,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -59,7 +59,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectBbsStats.do")
+    @RequestMapping(value="/manage/sts/selectBbsStats.do")
 	public String selectBbsStats(@ModelAttribute("statsVO") StatsVO statsVO,
 			ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
@@ -83,7 +83,7 @@
 					
 			model.addAttribute("scrinStats", scrinStats);
 		}
-        return "/mng/sts/EgovBbsStats";
+        return "/manage/sts/EgovBbsStats";
 	}
     
     /**
@@ -92,7 +92,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectBbsStatsExcel.do")
+    @RequestMapping(value="/manage/sts/selectBbsStatsExcel.do")
 	public ModelAndView selectBbsStatsExcel(@ModelAttribute("statsVO") StatsVO statsVO,
 			ModelMap model) throws Exception {
 
base/src/main/java/egovframework/com/mng/sts/web/EvtStatsController.java
--- base/src/main/java/egovframework/com/mng/sts/web/EvtStatsController.java
+++ base/src/main/java/egovframework/com/mng/sts/web/EvtStatsController.java
@@ -52,7 +52,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectEvtStats.do")
+    @RequestMapping(value="/manage/sts/selectEvtStats.do")
 	public String selectEvtStats(@ModelAttribute("statsVO") StatsVO statsVO,
 			ModelMap model) throws Exception {
     	
@@ -69,7 +69,7 @@
     	List<StatsVO> evtStats = scrinStatsService.selectEvtStats(statsVO);
     	model.addAttribute("evtStats", evtStats);
     	
-    	return "/mng/sts/EgovEvtStats";
+    	return "/manage/sts/EgovEvtStats";
     }
 
     /**
@@ -78,7 +78,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-	@RequestMapping(value="/mng/sts/selectEvtStatUser.do")
+	@RequestMapping(value="/manage/sts/selectEvtStatUser.do")
 	public String selectEvtStatUser(@ModelAttribute("searchVO") UserDefaultVO userDefaultVO, @ModelAttribute("statsVO") StatsVO statsVO,
 			ModelMap model) throws Exception {
 
@@ -100,6 +100,6 @@
         paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
 
-    	return "/mng/sts/EgovEvtStatsuser";
+    	return "/manage/sts/EgovEvtStatsuser";
     }
 }
base/src/main/java/egovframework/com/mng/sts/web/ScrinStatsController.java
--- base/src/main/java/egovframework/com/mng/sts/web/ScrinStatsController.java
+++ base/src/main/java/egovframework/com/mng/sts/web/ScrinStatsController.java
@@ -6,8 +6,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -59,7 +59,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectScrinStats.do")
+    @RequestMapping(value="/manage/sts/selectScrinStats.do")
 	public String selectUserStats(@ModelAttribute("statsVO") StatsVO statsVO,
 			ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
@@ -90,7 +90,7 @@
 			model.addAttribute("scrinStats", scrinStats);
 		}
 		
-        return "/mng/sts/EgovScrinStats";
+        return "/manage/sts/EgovScrinStats";
 	}
     
     /**
@@ -99,7 +99,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectScrinStatsExcel.do")
+    @RequestMapping(value="/manage/sts/selectScrinStatsExcel.do")
 	public ModelAndView selectScrinStatsExcel(@ModelAttribute("statsVO") StatsVO statsVO,
 			ModelMap model) throws Exception {
 
base/src/main/java/egovframework/com/mng/sts/web/StatsController.java
--- base/src/main/java/egovframework/com/mng/sts/web/StatsController.java
+++ base/src/main/java/egovframework/com/mng/sts/web/StatsController.java
@@ -51,7 +51,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectMbrStats.do")
+    @RequestMapping(value="/manage/sts/selectMbrStats.do")
 	public String selectMbrStats(@ModelAttribute("statsVO") StatsVO statsVO, ModelMap model) throws Exception {
 		
     	if(EgovStringUtil.isEmpty(statsVO.getFromDate())) {
@@ -89,7 +89,7 @@
     	
 		model.addAttribute("mbrStats", list);
 		
-        return "/mng/sts/EgovMbrStats";
+        return "/manage/sts/EgovMbrStats";
 	}
     
     /**
@@ -98,7 +98,7 @@
 	 * @return String
 	 * @exception Exception
 	 */
-    @RequestMapping(value="/mng/sts/selectCmyStats.do")
+    @RequestMapping(value="/manage/sts/selectCmyStats.do")
 	public String selectCmyStats(@ModelAttribute("statsVO") StatsVO statsVO, ModelMap model) throws Exception {
 		
     	if(EgovStringUtil.isEmpty(statsVO.getFromDate())) {
@@ -117,6 +117,6 @@
     	
 		model.addAttribute("cmyStats", list);
 		
-        return "/mng/sts/EgovCmyStats";
+        return "/manage/sts/EgovCmyStats";
 	}
 }
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnClCodeManageController.java
--- base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnClCodeManageController.java
+++ base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnClCodeManageController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -39,43 +39,43 @@
 	private DefaultBeanValidator beanValidator;
     
 	//공통분류코드를 삭제한다.
-    @RequestMapping(value="/mng/sym/ccm/EgovCcmCmmnClCodeRemove.do")
+    @RequestMapping(value="/manage/sym/ccm/EgovCcmCmmnClCodeRemove.do")
 	public String deleteCmmnClCode (@ModelAttribute("loginVO") LoginVO loginVO, CmmnClCodeVO cmmnClCode, ModelMap model) throws Exception {
     	 cmmnClCodeManageService.deleteCmmnClCode(cmmnClCode);
-        return "forward:/mng/sym/ccm/EgovCcmCmmnClCodeList.do";
+        return "forward:/manage/sym/ccm/EgovCcmCmmnClCodeList.do";
 	}
 
 	//공통분류코드를 등록한다.
-    @RequestMapping(value="/mng/sym/ccm/EgovCcmCmmnClCodeRegist.do")
+    @RequestMapping(value="/manage/sym/ccm/EgovCcmCmmnClCodeRegist.do")
 	public String insertCmmnClCode (@ModelAttribute("searchVO") CmmnClCodeVO searchVO, BindingResult bindingResult,HttpServletRequest request, HttpServletResponse response) throws Exception {    
 
     	if (searchVO.getClCode() == null ||searchVO.getClCode().equals("")) {
-    		return "mng/sym/ccm/CcmCmmnClCodeRegist";
+    		return "manage/sym/ccm/CcmCmmnClCodeRegist";
     	}
 
         beanValidator.validate(searchVO, bindingResult);
 		if (bindingResult.hasErrors()){
-    		return "mng/sym/ccm/CcmCmmnClCodeRegist";
+    		return "manage/sym/ccm/CcmCmmnClCodeRegist";
 		}
     	
 		LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 
 		searchVO.setFrstRegisterId(user.getId());
     	cmmnClCodeManageService.insertCmmnClCode(searchVO);
-        return "forward:/mng/sym/ccm/EgovCcmCmmnClCodeList.do";
+        return "forward:/manage/sym/ccm/EgovCcmCmmnClCodeList.do";
     }
 
 	//공통분류코드 상세항목을 조회한다.
-	@RequestMapping(value="/mng/sym/ccm/EgovCcmCmmnClCodeDetail.do")
+	@RequestMapping(value="/manage/sym/ccm/EgovCcmCmmnClCodeDetail.do")
  	public String selectCmmnClCodeDetail (@ModelAttribute("loginVO") LoginVO loginVO, CmmnClCodeVO cmmnClCode, ModelMap model) throws Exception {
 		CmmnClCodeVO vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCode);
 		model.addAttribute("result", vo);
 		
-		return "mng/sym/ccm/CcmCmmnClCodeDetail";
+		return "manage/sym/ccm/CcmCmmnClCodeDetail";
 	}
 
     //공통분류코드 목록을 조회한다.
-    @RequestMapping(value="/mng/sym/ccm/EgovCcmCmmnClCodeList.do")
+    @RequestMapping(value="/manage/sym/ccm/EgovCcmCmmnClCodeList.do")
 	public String selectCmmnClCodeList (@ModelAttribute("searchVO") CmmnClCodeVO searchVO, ModelMap model) throws Exception {
     	/** EgovPropertyService.sample */
     	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
@@ -97,33 +97,37 @@
         int totCnt = cmmnClCodeManageService.selectCmmnClCodeListTotCnt(searchVO);
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
+
+        // 타임리프용 간단 페이징 HTML(필요시 개선)
+        String paginationHtml = "<li class=\\\"current\\\">" + paginationInfo.getCurrentPageNo() + "</li>";
+        model.addAttribute("paginationHtml", paginationHtml);
         
-        return "mng/sym/ccm/CcmCmmnClCodeList";
+        return "manage/sym/ccm/CcmCmmnClCodeList";
 	}
 
 	//공통분류코드를 수정한다.
-    @RequestMapping(value="/mng/sym/ccm/EgovCcmCmmnClCodeModify.do")
+    @RequestMapping(value="/manage/sym/ccm/EgovCcmCmmnClCodeModify.do")
 	public String updateCmmnClCode (@ModelAttribute("administCode") CmmnClCodeVO cmmnClCode, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
     	if (cmmnClCode.getClCode().equals("")) {
     		CmmnClCodeVO vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCode);
     		model.addAttribute("cmmnClCode", vo);
 
-    		return "mng/sym/ccm/CcmCmmnClCodeModify";
+    		return "manage/sym/ccm/CcmCmmnClCodeModify";
     	} else {
             beanValidator.validate(cmmnClCode, bindingResult);
     		if (bindingResult.hasErrors()){
     			CmmnClCodeVO vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCode);
         		model.addAttribute("cmmnClCode", vo);
 
-        		return "mng/sym/ccm/CcmCmmnClCodeModify";
+        		return "manage/sym/ccm/CcmCmmnClCodeModify";
     		}
     		
     		LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(request, response);
     		
     		cmmnClCode.setLastUpdusrId(user.getId());
 	    	cmmnClCodeManageService.updateCmmnClCode(cmmnClCode);
-	        return "forward:/mng/sym/ccm/EgovCcmCmmnClCodeList.do";
+	        return "forward:/manage/sym/ccm/EgovCcmCmmnClCodeList.do";
     	}
     }
-}
(파일 끝에 줄바꿈 문자 없음)
+}
base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnCodeManageController.java
--- base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnCodeManageController.java
+++ base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnCodeManageController.java
@@ -2,8 +2,8 @@
 
 import java.util.List;
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -41,14 +41,14 @@
 	private DefaultBeanValidator beanValidator;
     
 	//공통코드를 삭제한다.
-    @RequestMapping(value="/mng/sym/ccm/cca/EgovCcmCmmnCodeRemove.do")
+    @RequestMapping(value="/manage/sym/ccm/cca/EgovCcmCmmnCodeRemove.do")
 	public String deleteCmmnCode (CmmnCodeVO cmmnCode, ModelMap model) throws Exception {
     	cmmnCodeManageService.deleteCmmnCode(cmmnCode);
-        return "forward:/mng/sym/ccm/cca/EgovCcmCmmnCodeList.do";
+        return "forward:/manage/sym/ccm/cca/EgovCcmCmmnCodeList.do";
 	}
 
 	//공통코드를 등록한다.
-    @RequestMapping(value="/mng/sym/ccm/cca/EgovCcmCmmnCodeRegist.do")
+    @RequestMapping(value="/manage/sym/ccm/cca/EgovCcmCmmnCodeRegist.do")
 	public String insertCmmnCode (@ModelAttribute("searchVO") CmmnClCodeVO searchVO, @ModelAttribute("cmmnCode") CmmnCodeVO cmmnCode, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {    
     	if(cmmnCode.getClCode() == null || cmmnCode.getClCode().equals("")) {
 
@@ -60,27 +60,27 @@
             cmmnCode.setUseAt("Y");
             model.addAttribute("cmmnClCode", CmmnCodeList);
             
-    		return "mng/sym/ccm/cca/CcmCmmnCodeRegist";
+    		return "manage/sym/ccm/cca/CcmCmmnCodeRegist";
     	}
 
 		LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 		
     	cmmnCode.setFrstRegisterId(user.getEsntlId());
     	cmmnCodeManageService.insertCmmnCode(cmmnCode);
-        return "forward:/mng/sym/ccm/cca/EgovCcmCmmnCodeList.do";
+        return "forward:/manage/sym/ccm/cca/EgovCcmCmmnCodeList.do";
     }
 
 	//공통코드 상세항목을 조회한다.
-	@RequestMapping(value="/mng/sym/ccm/cca/EgovCcmCmmnCodeDetail.do")
+	@RequestMapping(value="/manage/sym/ccm/cca/EgovCcmCmmnCodeDetail.do")
  	public String selectCmmnCodeDetail (CmmnCodeVO cmmnCode, ModelMap model) throws Exception {
 		CmmnCodeVO vo =cmmnCodeManageService.selectCmmnCodeDetail(cmmnCode);
 		model.addAttribute("result", vo);
 		
-		return "mng/sym/ccm/cca/CcmCmmnCodeDetail";
+		return "manage/sym/ccm/cca/CcmCmmnCodeDetail";
 	}
 
     //공통코드 목록을 조회한다.
-    @RequestMapping(value="/mng/sym/ccm/cca/EgovCcmCmmnCodeList.do")
+    @RequestMapping(value="/manage/sym/ccm/cca/EgovCcmCmmnCodeList.do")
 	public String selectCmmnCodeList (@ModelAttribute("searchVO") CmmnCodeVO searchVO, ModelMap model) throws Exception {
     	/** EgovPropertyService.sample */
     	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
@@ -102,25 +102,29 @@
         int totCnt =cmmnCodeManageService.selectCmmnCodeListTotCnt(searchVO);
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
+
+        // 타임리프용 간단 페이징 HTML(필요시 개선)
+        String paginationHtml = "<li class=\\\"current\\\">" + paginationInfo.getCurrentPageNo() + "</li>";
+        model.addAttribute("paginationHtml", paginationHtml);
         
-        return "mng/sym/ccm/cca/CcmCmmnCodeList";
+        return "manage/sym/ccm/cca/CcmCmmnCodeList";
 	}
 
 	//공통코드를 수정한다.
-    @RequestMapping(value="/mng/sym/ccm/cca/EgovCcmCmmnCodeModify.do")
+    @RequestMapping(value="/manage/sym/ccm/cca/EgovCcmCmmnCodeModify.do")
 	public String updateCmmnCode (@ModelAttribute("searchVO") CmmnCodeVO searchVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     	
     	if ("Y".equals(request.getParameter("modifyAt"))) {
     		CmmnCodeVO vo =cmmnCodeManageService.selectCmmnCodeDetail(searchVO);
     		model.addAttribute("cmmnCode", vo);
 
-    		return "mng/sym/ccm/cca/CcmCmmnCodeModify";
+    		return "manage/sym/ccm/cca/CcmCmmnCodeModify";
     	} else {
     		LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(request, response);
     		
     		searchVO.setLastUpdusrId(user.getEsntlId());
 	    	cmmnCodeManageService.updateCmmnCode(searchVO);
-	        return "forward:/mng/sym/ccm/cca/EgovCcmCmmnCodeList.do";
+	        return "forward:/manage/sym/ccm/cca/EgovCcmCmmnCodeList.do";
     	}
     }
-}
(파일 끝에 줄바꿈 문자 없음)
+}
base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnDetailCodeManageController.java
--- base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnDetailCodeManageController.java
+++ base/src/main/java/egovframework/com/mng/sym/ccm/web/CcmCmmnDetailCodeManageController.java
@@ -3,8 +3,8 @@
 import java.util.List;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -52,14 +52,14 @@
 	private DefaultBeanValidator beanValidator;
     
 	//공통상세코드를 삭제한다.
-    @RequestMapping(value="/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeRemove.do")
+    @RequestMapping(value="/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeRemove.do")
 	public String deleteCmmnDetailCode (@ModelAttribute("loginVO") LoginVO loginVO, CmmnDetailCodeVO cmmnDetailCode, ModelMap model) throws Exception {
     	cmmnDetailCodeManageService.deleteCmmnDetailCode(cmmnDetailCode);
-        return "forward:/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do";
+        return "forward:/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do";
 	}
 
 	//공통상세코드를 등록한다.
-    @RequestMapping(value="/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.do")
+    @RequestMapping(value="/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.do")
 	public String insertCmmnDetailCode	(@ModelAttribute("searchVO") CmmnDetailCodeVO searchVO, @ModelAttribute("cmmnDetailCode") CmmnDetailCodeVO cmmnDetailCode, @ModelAttribute("cmmnCode") CmmnCodeVO cmmnCode, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 
     	if   (cmmnDetailCode.getCodeId() == null
@@ -90,7 +90,7 @@
                 model.addAttribute("cmmnCodeList", CmmnCodeList);
                 
                 cmmnDetailCode.setUseAt("Y");
-                return "mng/sym/ccm/cde/CcmCmmnDetailCodeRegist";
+                return "manage/sym/ccm/cde/CcmCmmnDetailCodeRegist";
     	} else {
 
 	        beanValidator.validate(cmmnDetailCode, bindingResult);
@@ -116,28 +116,28 @@
 	            List<?> CmmnCodeList = cmmnCodeManageService.selectCmmnCodeList(searchCodeVO);
 	            model.addAttribute("cmmnCodeList", CmmnCodeList);
 				
-	            return "mng/sym/ccm/cde/CcmCmmnDetailCodeRegist";
+	            return "manage/sym/ccm/cde/CcmCmmnDetailCodeRegist";
 			}
 			
 			LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 	    	
 	    	cmmnDetailCode.setFrstRegisterId(user.getEsntlId());
 	    	cmmnDetailCodeManageService.insertCmmnDetailCode(cmmnDetailCode);
-	        return "forward:/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do";
+	        return "forward:/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do";
     	}
     }
 
 	//공통상세코드 상세항목을 조회한다.
-	@RequestMapping(value="/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.do")
+	@RequestMapping(value="/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.do")
  	public String selectCmmnDetailCodeDetail (@ModelAttribute("loginVO") LoginVO loginVO, CmmnDetailCodeVO cmmnDetailCode, ModelMap model) throws Exception {
 		CmmnDetailCodeVO vo = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCode);
 		model.addAttribute("result", vo);
 		
-		return "mng/sym/ccm/CcmCmmnDetailCodeDetail";
+		return "manage/sym/ccm/CcmCmmnDetailCodeDetail";
 	}
 
     //공통상세코드 목록을 조회한다.
-    @RequestMapping(value="/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do")
+    @RequestMapping(value="/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do")
 	public String selectCmmnDetailCodeList (@ModelAttribute("searchVO") CmmnDetailCodeVO searchVO, ModelMap model) throws Exception {
     	/** EgovPropertyService.sample */
     	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
@@ -159,34 +159,38 @@
         int totCnt = cmmnDetailCodeManageService.selectCmmnDetailCodeListTotCnt(searchVO);
 		paginationInfo.setTotalRecordCount(totCnt);
         model.addAttribute("paginationInfo", paginationInfo);
+
+        // 타임리프용 간단 페이징 HTML(필요시 개선)
+        String paginationHtml = "<li class=\\\"current\\\">" + paginationInfo.getCurrentPageNo() + "</li>";
+        model.addAttribute("paginationHtml", paginationHtml);
         
-        return "mng/sym/ccm/cde/CcmCmmnDetailCodeList";
+        return "manage/sym/ccm/cde/CcmCmmnDetailCodeList";
 	}
 
 	//공통상세코드를 수정한다.
-    @RequestMapping(value="/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.do")
+    @RequestMapping(value="/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.do")
 	public String updateCmmnDetailCode (@ModelAttribute("searchVO") CmmnDetailCodeVO searchVO, @ModelAttribute("cmmnDetailCode") CmmnDetailCodeVO cmmnDetailCode, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 
     	if ("Y".equals(request.getParameter("modifyAt"))) {
     		CmmnDetailCodeVO vo = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCode);
     		model.addAttribute("cmmnDetailCode", vo);
 
-    		return "mng/sym/ccm/cde/CcmCmmnDetailCodeModify";
+    		return "manage/sym/ccm/cde/CcmCmmnDetailCodeModify";
     	} else {
             beanValidator.validate(cmmnDetailCode, bindingResult);
     		if (bindingResult.hasErrors()){
     			CmmnDetailCodeVO vo = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCode);
         		model.addAttribute("cmmnDetailCode", vo);
 
-        		return "mng/sym/ccm/cde/CcmCmmnDetailCodeModify";
+        		return "manage/sym/ccm/cde/CcmCmmnDetailCodeModify";
     		}
 
     		LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(request, response);
     		
     		cmmnDetailCode.setLastUpdusrId(user.getEsntlId());
 	    	cmmnDetailCodeManageService.updateCmmnDetailCode(cmmnDetailCode);
-	        return "forward:/mng/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do";
+	        return "forward:/manage/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do";
     	}
     }
 
-}
(파일 끝에 줄바꿈 문자 없음)
+}
base/src/main/java/egovframework/com/mng/sym/mpm/web/MpmController.java
--- base/src/main/java/egovframework/com/mng/sym/mpm/web/MpmController.java
+++ base/src/main/java/egovframework/com/mng/sym/mpm/web/MpmController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
@@ -72,7 +72,7 @@
 	private DefaultBeanValidator beanValidator;
 
   //메뉴 목록을 조회한다.
-  @RequestMapping(value = "/mng/sym/mpm/selectMpmList.do")
+  @RequestMapping(value = "/manage/sym/mpm/selectMpmList.do")
   public String selectMpmList(@ModelAttribute("searchVO") MpmVO mnuVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
       /*
 	  List<SiteManageVO> siteList = siteManageService.selectSiteSimpleList();
@@ -96,12 +96,12 @@
 		  model.addAttribute("mpmList", mpmService.selectMpmList(mnuVO));
 	  }
 	  
-	  return "mng/sym/mpm/MpmList";
+	  return "manage/sym/mpm/MpmList";
   }
   
   
   //메뉴 등록을 위한 등록페이지로 이동한다.
-  @RequestMapping("/mng/sym/mpm/addMpm.do")
+  @RequestMapping("/manage/sym/mpm/addMpm.do")
   public String addMpm(@ModelAttribute("searchVO") MpmVO mnuVO, SiteManageVO siteVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
 	  model.addAttribute("siteInfo", siteManageService.selectSiteDetail(siteVO));
@@ -135,15 +135,15 @@
       
 	  request.getSession().setAttribute("sessionVO", mnuVO);
 	  
-	  return "mng/sym/mpm/MpmRegist"; 
+	  return "manage/sym/mpm/MpmRegist"; 
   }
     
   //메뉴를 등록한다.
-  @RequestMapping("/mng/sym/mpm/insertMpm.do")
+  @RequestMapping("/manage/sym/mpm/insertMpm.do")
   public String insertMpm(final MultipartHttpServletRequest multiRequest, SiteManageVO siteVO, @ModelAttribute("searchVO") MpmVO mnuVO, @ModelAttribute("mnu") MpmVO mnu, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
     
 	if(request.getSession().getAttribute("sessionVO") == null) {
-		return "forward:/mng/sym/mpm/selectMpmList.do";
+		return "forward:/manage/sym/mpm/selectMpmList.do";
 	}
     
     beanValidator.validate(mnu, bindingResult);
@@ -172,7 +172,7 @@
 		
 	    model.addAttribute("mpmList", mpmService.selectMpmList(mnuVO));
 		
-    	return "mng/sym/mpm/MpmRegist";
+    	return "manage/sym/mpm/MpmRegist";
     }
     
     List<FileVO> result = null;    
@@ -197,11 +197,11 @@
 
 	request.getSession().removeAttribute("sessionVO");
     
-    return "forward:/mng/sym/mpm/selectMpmList.do";
+    return "forward:/manage/sym/mpm/selectMpmList.do";
   }
     
   //메뉴 수정을 위한 수정페이지로 이동한다.
-  @RequestMapping("/mng/sym/mpm/forUpdateMpm.do")
+  @RequestMapping("/manage/sym/mpm/forUpdateMpm.do")
   public String forUpdateMpm(@ModelAttribute("searchVO") MpmVO mnuVO, SiteManageVO siteVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
 	  model.addAttribute("siteInfo", siteManageService.selectSiteDetail(siteVO));
@@ -234,15 +234,15 @@
 	  
       request.getSession().setAttribute("sessionVO", mnuVO);
       
-	  return "mng/sym/mpm/MpmRegist"; 
+	  return "manage/sym/mpm/MpmRegist"; 
   }
     
   //메뉴를 수정한다.
-  @RequestMapping("/mng/sym/mpm/updateMpm.do")
+  @RequestMapping("/manage/sym/mpm/updateMpm.do")
   public String updateMpm(final MultipartHttpServletRequest multiRequest, SiteManageVO siteVO, @ModelAttribute("searchVO") MpmVO mnuVO, @ModelAttribute("mnu") MpmVO mnu, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
     
 	if(request.getSession().getAttribute("sessionVO") == null) {
-		return "forward:/mng/sym/mpm/selectMpmList.do";
+		return "forward:/manage/sym/mpm/selectMpmList.do";
 	}
     
     List<FileVO> result = null;    
@@ -267,11 +267,11 @@
 
 	request.getSession().removeAttribute("sessionVO");
 	
-    return "forward:/mng/sym/mpm/selectMpmList.do";
+    return "forward:/manage/sym/mpm/selectMpmList.do";
   }
   
   //메뉴를 삭제한다.
-  @RequestMapping("/mng/sym/mpm/deleteMpm.do")
+  @RequestMapping("/manage/sym/mpm/deleteMpm.do")
   public String deleteMpm(@ModelAttribute("searchVO") MpmVO mnuVO, @ModelAttribute("mnu") MpmVO mnu, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -280,11 +280,11 @@
       mpmService.deleteMpm(mnuVO);
 
     // status.setComplete();
-    return "forward:/mng/sym/mpm/selectMpmList.do";
+    return "forward:/manage/sym/mpm/selectMpmList.do";
   }
   
   //메뉴를 이동한다.
-  @RequestMapping("/mng/sym/mpm/updateMpmSortOrdr.do")
+  @RequestMapping("/manage/sym/mpm/updateMpmSortOrdr.do")
   public void updateMpmSortOrdr(@ModelAttribute("searchVO") MpmVO mnuVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
       	int updateCnt = mpmService.updateMpmSortOrdr(mnuVO);
@@ -300,7 +300,7 @@
   }
   
   
-  @RequestMapping(value="/mng/sym/mpm/selectMpmHistoryList.do")
+  @RequestMapping(value="/manage/sym/mpm/selectMpmHistoryList.do")
   public String selectBbsTemplateHistoryList(@ModelAttribute("searchVO") MpmVO searchVO, ModelMap model) throws Exception {
   	
   		/** EgovPropertyService.sample */
@@ -323,10 +323,10 @@
 		paginationInfo.setTotalRecordCount(totCnt);
 		model.addAttribute("paginationInfo", paginationInfo);
       
-		return "/mng/sym/mpm/MpmHistoryList";
+		return "/manage/sym/mpm/MpmHistoryList";
   } 
   
-  @RequestMapping("/mng/sym/mpm/selectMpmHistory.do")
+  @RequestMapping("/manage/sym/mpm/selectMpmHistory.do")
   public String selectBbsTemplateHistory(@ModelAttribute("searchVO") MpmVO searchVO, Model model, HttpServletRequest request) throws Exception {
       	
 	  CmmnDetailCodeVO ccvo = new CmmnDetailCodeVO();
@@ -347,10 +347,10 @@
       
      	model.addAttribute("mnuVO", mpmHistoryService.selectMpmHistory(searchVO));
       
-      	return "/mng/sym/mpm/MpmHistoryView";
+      	return "/manage/sym/mpm/MpmHistoryView";
   }
   
-  @RequestMapping("/mng/sym/mpm/updateMpmRollBack.do")
+  @RequestMapping("/manage/sym/mpm/updateMpmRollBack.do")
   public String updateLytTemplateRollBack(@ModelAttribute("searchVO") MpmVO searchVO, Model model, HttpServletRequest request) throws Exception {
       
 	  	MpmVO his = mpmHistoryService.selectMpmHistory(searchVO);
@@ -361,20 +361,20 @@
   			model.addAttribute("rollbackComplete", "Y");
   		}
       
-  		return "forward:/mng/sym/mpm/selectMpmHistoryList.do";
+  		return "forward:/manage/sym/mpm/selectMpmHistoryList.do";
   }
   
-  @RequestMapping("/mng/sym/mpm/previewMpm.do")
+  @RequestMapping("/manage/sym/mpm/previewMpm.do")
   public String previewMpm(@ModelAttribute("searchVO") MpmVO searchVO, Model model, HttpServletRequest request) throws Exception {
       
 	  mpmService.previewPublish(searchVO);
 	  
 	  model.addAttribute("result", searchVO.getMenuWebPath());
 	  
-	  return "/mng/sym/mpm/MpmPreview";
+	  return "/manage/sym/mpm/MpmPreview";
   }	  
   
-  @RequestMapping("/mng/sym/sit/updateMpmMenuNm.do")
+  @RequestMapping("/manage/sym/sit/updateMpmMenuNm.do")
   public void updateMpmMenuNm(@ModelAttribute("searchVO") MpmVO searchVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
       
 	  searchVO.setHtmlUseAt("N");
base/src/main/java/egovframework/com/mng/sym/sit/web/SiteManageController.java
--- base/src/main/java/egovframework/com/mng/sym/sit/web/SiteManageController.java
+++ base/src/main/java/egovframework/com/mng/sym/sit/web/SiteManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -83,7 +83,7 @@
   
   
   //사이트목록을 조회한다.
-  @RequestMapping(value = "/mng/sym/sit/selectSiteInfoList.do")
+  @RequestMapping(value = "/manage/sym/sit/selectSiteInfoList.do")
   public String selectSiteList(@ModelAttribute("searchVO") SiteManageVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -110,11 +110,11 @@
     paginationInfo.setTotalRecordCount(totCnt);
     model.addAttribute("paginationInfo", paginationInfo);
     
-    return "/mng/sym/sit/SiteListInqire";
+    return "/manage/sym/sit/SiteListInqire";
   }
   
   //사이트정보 등록전 단계
-  @RequestMapping("/mng/sym/sit/addSiteInfo.do")
+  @RequestMapping("/manage/sym/sit/addSiteInfo.do")
   public String insertSiteInfoView(@ModelAttribute("searchVO") SiteManageVO searchVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  CmmnDetailCodeVO ccvo = new CmmnDetailCodeVO();
@@ -130,15 +130,15 @@
 	  
 	  request.getSession().setAttribute("sessionVO", searchVO);
     
-	  return "/mng/sym/sit/SiteInfoRegist";
+	  return "/manage/sym/sit/SiteInfoRegist";
   }
   
   //사이트정보를 등록한다.
-  @RequestMapping("/mng/sym/sit/insertSiteInfo.do")
+  @RequestMapping("/manage/sym/sit/insertSiteInfo.do")
   public String insertSiteInfo(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") SiteManageVO searchVO, SiteManageVO siteManageVO, SiteMainContentsManageVO mainContentsVO, BindingResult bindingResult, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	if(request.getSession().getAttribute("sessionVO") == null) {
-		return "forward:/mng/sym/sit/selectSiteInfoList.do";
+		return "forward:/manage/sym/sit/selectSiteInfoList.do";
 	}
 	  
     beanValidator.validate(siteManageVO, bindingResult);
@@ -152,7 +152,7 @@
     	model.addAttribute("tmplatFileStoreWebPathByPreFile", propertiesService.getString("publish.tmplat.lyt.fileStoreWebPathByPreFile"));
     	model.addAttribute("sourcFileStoreWebPathByPreFile", propertiesService.getString("publish.sourc.lyt.fileStoreWebPathByPreFile"));
     	
-    	return "/mng/sym/sit/SiteInfoRegist";
+    	return "/manage/sym/sit/SiteInfoRegist";
       
     }
         
@@ -191,11 +191,11 @@
     
     request.getSession().removeAttribute("sessionVO");
     
-    return "forward:/mng/sym/sit/selectSiteInfoList.do";
+    return "forward:/manage/sym/sit/selectSiteInfoList.do";
   }
   
   //사이트정보 수정 전 처리
-  @RequestMapping("/mng/sym/sit/selectSiteInfo.do")
+  @RequestMapping("/manage/sym/sit/selectSiteInfo.do")
   public String updateSiteInfoView(@ModelAttribute("searchVO") SiteManageVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  CmmnDetailCodeVO ccvo = new CmmnDetailCodeVO();
@@ -239,15 +239,15 @@
 
   	  request.getSession().setAttribute("sessionVO", searchVO);
   	
-  	  return "/mng/sym/sit/SiteInfoRegist";
+  	  return "/manage/sym/sit/SiteInfoRegist";
   }
   
   //사이트정보를 수정한다.
-  @RequestMapping("/mng/sym/sit/updateSiteInfo.do")
+  @RequestMapping("/manage/sym/sit/updateSiteInfo.do")
   public String updateSiteInfo(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") SiteManageVO searchVO, SiteManageVO siteManageVO, SiteMainContentsManageVO mainContentsVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	if(request.getSession().getAttribute("sessionVO") == null) {
-		return "forward:/mng/sym/sit/selectSiteInfoList.do";
+		return "forward:/manage/sym/sit/selectSiteInfoList.do";
 	}
 	  
     // Validation
@@ -293,7 +293,7 @@
     		  model.addAttribute("cmySourcVO", lytSourcService.selectLytSourc(lytSourc));
     	  }
     	  
-    	  return "/mng/sym/sit/SiteInfoRegist";
+    	  return "/manage/sym/sit/SiteInfoRegist";
       
     }
     
@@ -332,12 +332,12 @@
     
     request.getSession().removeAttribute("sessionVO");
     
-    return "forward:/mng/sym/sit/selectSiteInfoList.do";
+    return "forward:/manage/sym/sit/selectSiteInfoList.do";
     
   }
   
   //사이트정보를 삭제처리한다.
-  @RequestMapping("/mng/sym/sit/deleteSiteInfo.do")
+  @RequestMapping("/manage/sym/sit/deleteSiteInfo.do")
   public String deleteSiteInfo(SiteManageVO siteManageVO, @ModelAttribute("searchVO") SiteManageVO searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	// 로그인VO에서 사용자 정보 가져오기
@@ -349,7 +349,7 @@
     
     siteManageService.deleteSiteInfo(siteManageVO);
     
-    return "forward:/mng/sym/sit/selectSiteInfoList.do";
+    return "forward:/manage/sym/sit/selectSiteInfoList.do";
   }
   
   private void batchJobAction(SiteManageVO searchVO) throws Exception {
@@ -379,7 +379,7 @@
   
   
   //사이트정보를 조회한다.
-  @RequestMapping("/mng/sym/sit/selectCommonSiteList.do")
+  @RequestMapping("/manage/sym/sit/selectCommonSiteList.do")
   public String selectCommonSiteList(@ModelAttribute("orgCodeVO") SiteManageVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  boolean saveAt = false;
@@ -429,11 +429,11 @@
 	  ccvo.setCodeId("COM920");		
 	  model.addAttribute("schlGrdList", cmmUseService.selectCmmCodeDetail(ccvo));
 	  
-	  return "/mng/sym/sit/SiteListCommon";
+	  return "/manage/sym/sit/SiteListCommon";
   }
   
   //사이트정보를 조회한다.
-  @RequestMapping("/mng/sym/sit/selectSiteListForAjax.do")
+  @RequestMapping("/manage/sym/sit/selectSiteListForAjax.do")
   public void selectSiteListForAjax(@ModelAttribute("orgCodeVO") SiteManageVO searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  JSONArray ja = new JSONArray();
 	  JSONObject jo = null;
@@ -457,7 +457,7 @@
   }
   
   //사이트정보를 세션에 저장한다.
-  @RequestMapping("/mng/sym/sit/saveSiteInfoForAjax.do")
+  @RequestMapping("/manage/sym/sit/saveSiteInfoForAjax.do")
   public void saveSiteInfoForAjax(@ModelAttribute("orgCodeVO") SiteManageVO searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 	  if("Y".equals(searchVO.getSaveAt())) {
@@ -477,7 +477,7 @@
   }
 
 	//사이트약관관리
-	@RequestMapping("/mng/sym/sit/sitePolicy.do")
+	@RequestMapping("/manage/sym/sit/sitePolicy.do")
 	public String sitePolicy(@ModelAttribute("searchVO") SiteManageVO siteManageVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 		if(egovframework.rte.fdl.string.EgovStringUtil.isEmpty(siteManageVO.getSiteId())) {
@@ -490,16 +490,16 @@
 
 		model.addAttribute("siteInfo", siteInfo);
 
-		return "/mng/sym/sit/SitePolicy";
+		return "/manage/sym/sit/SitePolicy";
 	}
 
 	//사이트약관수정
-	@RequestMapping("/mng/sym/sit/updateSitePolicy.do")
+	@RequestMapping("/manage/sym/sit/updateSitePolicy.do")
 	public String updateSitePolicy(@ModelAttribute("searchVO") SiteManageVO siteManageVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 		siteManageVO.setLastUpdusrId(loginVO.getEsntlId());
 		siteManageService.batchScrtyPolicy(siteManageVO);
 
-		return "forward:/mng/sym/sit/sitePolicy.do";
+		return "forward:/manage/sym/sit/sitePolicy.do";
 	}
 }
base/src/main/java/egovframework/com/mng/uss/ion/bnr/web/BannerManageController.java
--- base/src/main/java/egovframework/com/mng/uss/ion/bnr/web/BannerManageController.java
+++ base/src/main/java/egovframework/com/mng/uss/ion/bnr/web/BannerManageController.java
@@ -5,8 +5,8 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -64,7 +64,7 @@
 	private DefaultBeanValidator beanValidator;
 	
 	//배너를 관리하기 위해 등록된 배너목록을 조회한다.
-	@RequestMapping(value = "/mng/uss/ion/bnr/selectBannerList.do")
+	@RequestMapping(value = "/manage/uss/ion/bnr/selectBannerList.do")
 	public String selectBannerList(@ModelAttribute("searchVO") BannerVO bannerVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	
 		/*
@@ -108,11 +108,11 @@
 		}
 		model.addAttribute("paginationInfo", paginationInfo);
 		
-		return "/mng/uss/ion/bnr/BannerList";
+		return "/manage/uss/ion/bnr/BannerList";
 	}
 
 	//배너등록 화면으로 이동한다.
-	@RequestMapping(value = "/mng/uss/ion/bnr/addViewBanner.do")
+	@RequestMapping(value = "/manage/uss/ion/bnr/addViewBanner.do")
 	public String insertViewBanner(@ModelAttribute("searchVO") BannerVO bannerVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 		model.addAttribute("banner", bannerVO);
@@ -135,15 +135,15 @@
 
 		request.getSession().setAttribute("sessionVO", bannerVO);
 
-		return "/mng/uss/ion/bnr/BannerRegist";
+		return "/manage/uss/ion/bnr/BannerRegist";
 	}
 	
 	//배너정보를 신규로 등록한다.
-	@RequestMapping(value = "/mng/uss/ion/bnr/addBanner.do")
+	@RequestMapping(value = "/manage/uss/ion/bnr/addBanner.do")
 	public String insertBanner(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BannerVO bannerVO, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 
 		if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/uss/ion/bnr/selectBannerList.do";
+			return "forward:/manage/uss/ion/bnr/selectBannerList.do";
 		}
 
 		LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -184,15 +184,15 @@
 
 		request.getSession().removeAttribute("sessionVO");
 
-		return "forward:/mng/uss/ion/bnr/selectBannerList.do";
+		return "forward:/manage/uss/ion/bnr/selectBannerList.do";
 	}
 	
 	//기 등록된 배너정보를 수정한다.
-	@RequestMapping(value = "/mng/uss/ion/bnr/updtBanner.do")
+	@RequestMapping(value = "/manage/uss/ion/bnr/updtBanner.do")
 	public String updateBanner(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BannerVO bannerVO, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 
 		if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/uss/ion/bnr/selectBannerList.do";
+			return "forward:/manage/uss/ion/bnr/selectBannerList.do";
 		}
 
 		LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -236,12 +236,12 @@
 
 		request.getSession().removeAttribute("sessionVO");
 
-		return "forward:/mng/uss/ion/bnr/selectBannerList.do";
+		return "forward:/manage/uss/ion/bnr/selectBannerList.do";
 
 	}
 	
 	//등록된 배너의 상세정보를 조회한다.
-	@RequestMapping(value = "/mng/uss/ion/bnr/getBanner.do")
+	@RequestMapping(value = "/manage/uss/ion/bnr/getBanner.do")
 	public String selectBanner(@ModelAttribute("searchVO") BannerVO bannerVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 		BannerVO vo = bannerService.selectBanner(bannerVO);
@@ -275,16 +275,16 @@
 
 		request.getSession().setAttribute("sessionVO", bannerVO);
 
-		return "/mng/uss/ion/bnr/BannerRegist";
+		return "/manage/uss/ion/bnr/BannerRegist";
 	}
 	
 	//기 등록된 배너정보를 삭제한다.
-	@RequestMapping(value = "/mng/uss/ion/bnr/removeBanner.do")
+	@RequestMapping(value = "/manage/uss/ion/bnr/removeBanner.do")
 	public String deleteBanner(@ModelAttribute("searchVO") BannerVO bannerVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 		bannerVO.setLastUpdusrId(user.getEsntlId());
 		bannerService.deleteBanner(bannerVO);
-		return "forward:/mng/uss/ion/bnr/selectBannerList.do";
+		return "forward:/manage/uss/ion/bnr/selectBannerList.do";
 	}
 	
 	//시간을 LIST를 반환한다.
base/src/main/java/egovframework/com/mng/uss/ion/pwm/web/PopupManageController.java
--- base/src/main/java/egovframework/com/mng/uss/ion/pwm/web/PopupManageController.java
+++ base/src/main/java/egovframework/com/mng/uss/ion/pwm/web/PopupManageController.java
@@ -4,8 +4,8 @@
 import java.util.List;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -44,7 +44,7 @@
     private PopupManageService popupManageService;
     
     //팝업창 목록을 조회한다.
-    @RequestMapping(value = "/mng/uss/ion/pwm/listPopup.do")
+    @RequestMapping(value = "/manage/uss/ion/pwm/listPopup.do")
     public String EgovPopupManageList(@ModelAttribute("searchVO") PopupManageVO popupManageVO,ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
     	/*
@@ -84,17 +84,17 @@
         }
         model.addAttribute("paginationInfo", paginationInfo);
 		
-        return "/mng/uss/ion/pwm/PopupList";
+        return "/manage/uss/ion/pwm/PopupList";
     }
     
     
     //팝업창을 수정한다.
-    @RequestMapping(value = "/mng/uss/ion/pwm/updtPopup.do")
+    @RequestMapping(value = "/manage/uss/ion/pwm/updtPopup.do")
     public String EgovPopupManageUpdt(@ModelAttribute("searchVO") PopupManageVO popupManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
         // 로그인 객체 선언
         LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 
-        String sLocationUrl = "/mng/uss/ion/pwm/PopupRegist";
+        String sLocationUrl = "/manage/uss/ion/pwm/PopupRegist";
 
         //팝업창시작일자(시)
         model.addAttribute("ntceBgndeHH", getTimeHH());
@@ -107,7 +107,7 @@
 
         if ("save".equals(popupManageVO.getCmd())){
         	if(request.getSession().getAttribute("sessionVO") == null) {
-        		return "forward:/mng/uss/ion/pwm/listPopup.do";
+        		return "forward:/manage/uss/ion/pwm/listPopup.do";
         	}
 
             //아이디 설정
@@ -117,7 +117,7 @@
 
             request.getSession().removeAttribute("sessionVO");
 
-            sLocationUrl = "forward:/mng/uss/ion/pwm/listPopup.do";
+            sLocationUrl = "forward:/manage/uss/ion/pwm/listPopup.do";
         } else {
 
             PopupManageVO popupManageVOs = popupManageService.selectPopup(popupManageVO);
@@ -140,13 +140,13 @@
     }
 
     //팝업창을 등록한다.
-    @RequestMapping(value = "/mng/uss/ion/pwm/registPopup.do")
+    @RequestMapping(value = "/manage/uss/ion/pwm/registPopup.do")
     public String EgovPopupManageRegist(@ModelAttribute("searchVO") PopupManageVO popupManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
         // 로그인 객체 선언
         LoginVO loginVO =  EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 
-        String sLocationUrl = "/mng/uss/ion/pwm/PopupRegist";
+        String sLocationUrl = "/manage/uss/ion/pwm/PopupRegist";
 
         //팝업창시작일자(시)
         model.addAttribute("ntceBgndeHH", getTimeHH());
@@ -159,7 +159,7 @@
 
         if ("save".equals(popupManageVO.getCmd())){
         	if(request.getSession().getAttribute("sessionVO") == null) {
-        		return "forward:/mng/uss/ion/pwm/listPopup.do";
+        		return "forward:/manage/uss/ion/pwm/listPopup.do";
         	}
 
             //아이디 설정
@@ -169,7 +169,7 @@
 
             request.getSession().removeAttribute("sessionVO");
 
-            sLocationUrl = "forward:/mng/uss/ion/pwm/listPopup.do";
+            sLocationUrl = "forward:/manage/uss/ion/pwm/listPopup.do";
         } else {
         	model.addAttribute("popupManageVO", popupManageVO);
 	        request.getSession().setAttribute("sessionVO", popupManageVO);
@@ -179,14 +179,14 @@
     }
     
     //팝업창을 삭제한다.
-    @RequestMapping(value = "/mng/uss/ion/pwm/deletePopup.do")
+    @RequestMapping(value = "/manage/uss/ion/pwm/deletePopup.do")
     public String deletePopup(@ModelAttribute("searchVO") PopupManageVO popupManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
     	LoginVO loginVO =  EgovUserDetailsHelper.getAuthenticatedUser(request, response);
     	popupManageVO.setLastUpdusrId(loginVO.getEsntlId());
         popupManageService.deletePopup(popupManageVO);
 
-        return "forward:/mng/uss/ion/pwm/listPopup.do";
+        return "forward:/manage/uss/ion/pwm/listPopup.do";
     }
     
     //시간을 LIST를 반환한다.
base/src/main/java/egovframework/com/mng/uss/ion/sit/web/LinkSiteManageController.java
--- base/src/main/java/egovframework/com/mng/uss/ion/sit/web/LinkSiteManageController.java
+++ base/src/main/java/egovframework/com/mng/uss/ion/sit/web/LinkSiteManageController.java
@@ -1,8 +1,8 @@
 package egovframework.com.mng.uss.ion.sit.web;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -60,7 +60,7 @@
 	private DefaultBeanValidator  beanValidator;
   
   //사이트목록을 조회한다.
-  @RequestMapping(value = "/mng/uss/ion/sit/SiteListInqire.do")
+  @RequestMapping(value = "/manage/uss/ion/sit/SiteListInqire.do")
   public String selectSiteList(@ModelAttribute("searchVO") LinkSiteManageVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  	/*
@@ -106,11 +106,11 @@
     	}
     	model.addAttribute("paginationInfo", paginationInfo);
 		
-    	return "/mng/uss/ion/sit/SiteListInqire";
+    	return "/manage/uss/ion/sit/SiteListInqire";
   }
     
   //사이트정보 등록전 단계
-  @RequestMapping("/mng/uss/ion/sit/SiteInfoRegistView.do")
+  @RequestMapping("/manage/uss/ion/sit/SiteInfoRegistView.do")
   public String insertSiteInfoView(@ModelAttribute("searchVO") LinkSiteManageVO searchVO, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
     // 공통코드를 가져오기 위한 Vo
@@ -123,16 +123,16 @@
     
     request.getSession().setAttribute("sessionVO", searchVO);
     
-    return "/mng/uss/ion/sit/SiteInfoRegist";
+    return "/manage/uss/ion/sit/SiteInfoRegist";
     
   }
   
   //사이트정보를 등록한다.
-  @RequestMapping("/mng/uss/ion/sit/SiteInfoRegist.do")
+  @RequestMapping("/manage/uss/ion/sit/SiteInfoRegist.do")
   public String insertSiteInfo(@ModelAttribute("searchVO") LinkSiteManageVO searchVO, @ModelAttribute("siteManageVO") LinkSiteManageVO siteManageVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  if(request.getSession().getAttribute("sessionVO") == null) {
-		  return "forward:/mng/uss/ion/sit/SiteListInqire.do";
+		  return "forward:/manage/uss/ion/sit/SiteListInqire.do";
 	  }
 	  
 	    beanValidator.validate(siteManageVO, bindingResult);
@@ -142,7 +142,7 @@
 	    	CmmnDetailCodeVO vo = new CmmnDetailCodeVO();
 	        vo.setCodeId("COM023");
 	        model.addAttribute("resultList", cmmUseService.selectCmmCodeDetail(vo));
-	        return "/mng/uss/ion/sit/SiteInfoRegist";
+	        return "/manage/uss/ion/sit/SiteInfoRegist";
 	    }
 	    
 	    // 로그인VO에서 사용자 정보 가져오기
@@ -157,11 +157,11 @@
 	    
 	    request.getSession().removeAttribute("sessionVO");
 	    
-	    return "forward:/mng/uss/ion/sit/SiteListInqire.do";
+	    return "forward:/manage/uss/ion/sit/SiteListInqire.do";
   }
   
   //사이트정보 수정 전 처리
-  @RequestMapping("/mng/uss/ion/sit/SiteInfoUpdtView.do")
+  @RequestMapping("/manage/uss/ion/sit/SiteInfoUpdtView.do")
   public String updateSiteInfoView(@ModelAttribute("searchVO") LinkSiteManageVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
     // 공통코드를 가져오기 위한 Vo
@@ -175,15 +175,15 @@
     
     request.getSession().setAttribute("sessionVO", searchVO);
        
-    return "/mng/uss/ion/sit/SiteInfoRegist";
+    return "/manage/uss/ion/sit/SiteInfoRegist";
   }
   
   //사이트정보를 수정한다.
-  @RequestMapping("/mng/uss/ion/sit/SiteInfoUpdt.do")
+  @RequestMapping("/manage/uss/ion/sit/SiteInfoUpdt.do")
   public String updateSiteInfo(@ModelAttribute("searchVO") LinkSiteManageVO searchVO, @ModelAttribute("siteManageVO") LinkSiteManageVO siteManageVO, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
 	  if(request.getSession().getAttribute("sessionVO") == null) {
-		  return "forward:/mng/uss/ion/sit/SiteListInqire.do";
+		  return "forward:/manage/uss/ion/sit/SiteListInqire.do";
 	  }
 	  
     // Validation
@@ -195,7 +195,7 @@
         vo.setCodeId("COM023");
         
         model.addAttribute("resultList", cmmUseService.selectCmmCodeDetail(vo));
-        return "/mng/uss/ion/sit/SiteInfoRegist";
+        return "/manage/uss/ion/sit/SiteInfoRegist";
       
     }
     
@@ -210,12 +210,12 @@
     
     request.getSession().removeAttribute("sessionVO");
     
-    return "forward:/mng/uss/ion/sit/SiteListInqire.do";
+    return "forward:/manage/uss/ion/sit/SiteListInqire.do";
     
   }
   
   //사이트정보를 삭제처리한다.
-  @RequestMapping("/mng/uss/ion/sit/SiteInfoDelete.do")
+  @RequestMapping("/manage/uss/ion/sit/SiteInfoDelete.do")
   public String deleteSiteInfo(LinkSiteManageVO siteManageVO, @ModelAttribute("searchVO") LinkSiteManageVO searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
         
 	  // 로그인VO에서 사용자 정보 가져오기
@@ -226,7 +226,7 @@
 	  siteManageVO.setLastUpdusrId(lastUpdusrId); // 최종수정자ID
 	  linkSiteManageService.deleteSiteInfo(siteManageVO);
     
-	  return "forward:/mng/uss/ion/sit/SiteListInqire.do";
+	  return "forward:/manage/uss/ion/sit/SiteListInqire.do";
   }
   
 }
base/src/main/java/egovframework/com/mng/uss/umt/web/UserManageController.java
--- base/src/main/java/egovframework/com/mng/uss/umt/web/UserManageController.java
+++ base/src/main/java/egovframework/com/mng/uss/umt/web/UserManageController.java
@@ -8,8 +8,8 @@
 import java.util.Map.Entry;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.utl.fcc.service.CryptoUtil;
 import egovframework.rte.psl.dataaccess.util.EgovMap;
@@ -67,7 +67,7 @@
 	
     
     //회원 목록을 조회
-	@RequestMapping(value = "/mng/usr/mberManage.do")
+	@RequestMapping(value = "/manage/usr/mberManage.do")
 	  public String selectEgovMberManage(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 		if(!EgovStringUtil.isEmpty(loginVO.getSiteId())) {
@@ -113,11 +113,11 @@
     	voComCode.setCodeId("COM800");
     	model.addAttribute("userSeCodeList", cmmUseService.selectCmmCodeDetail(voComCode));
 
-		return "mng/usr/MemberList";
+		return "manage/usr/MemberList";
 	}
 
 	//사용자 등록화면으로 이동한다.
-	@RequestMapping(value = "/mng/usr/mberAddView.do")
+	@RequestMapping(value = "/manage/usr/mberAddView.do")
 	public String EgovMberAddView(@ModelAttribute("searchVO") UserDefaultVO searchVO, @RequestParam(value="userId", defaultValue="", required=false) String userId, UserManageVO userManageVO, HttpServletRequest request, ModelMap model) throws Exception{
 		//권한
 		CmmnDetailCodeVO voComCode = new CmmnDetailCodeVO();
@@ -125,35 +125,35 @@
 		voComCode.setCodeId("COM800");
 		model.addAttribute("userSeCodeList", cmmUseService.selectCmmCodeDetail(voComCode));
 
-		return "mng/usr/MemberIndt";
+		return "manage/usr/MemberIndt";
 	}
 
     //사용자 정보를 DB에 입력한다.
-	@RequestMapping(value = "/mng/usr/userSelectIndt.do")
+	@RequestMapping(value = "/manage/usr/userSelectIndt.do")
     public String EgovUserSelectIndt(final MultipartHttpServletRequest multiRequest,@ModelAttribute("searchVO") UserDefaultVO searchVO,UserManageVO userManageVO,BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response)throws Exception {
 		userManageVO.setFrstRegistIp(request.getRemoteAddr());
 		userManageService.insertUser(userManageVO);
 
-	    return "forward:/mng/usr/mberManage.do";
+	    return "forward:/manage/usr/mberManage.do";
     }
 
 	//회원 삭제
-	@RequestMapping(value = "/mng/usr/userDelete.do")
+	@RequestMapping(value = "/manage/usr/userDelete.do")
     public String EgovUserDelete(@ModelAttribute("searchVO") UserDefaultVO searchVO, UserManageVO userManageVO)throws Exception {
 		userManageService.deleteUser(userManageVO);
-		return "redirect:/mng/usr/mberManage.do";
+		return "redirect:/manage/usr/mberManage.do";
     }
 	
 	//비밀번호 초기화
-	@RequestMapping(value = "/mng/usr/resetPwd.do")
+	@RequestMapping(value = "/manage/usr/resetPwd.do")
     public String EgovResetPwd(UserManageVO userManageVO)throws Exception {
 			userManageService.updateResetPwd(userManageVO);
 
-	      return "forward:/mng/usr/mberAddView.do";
+	      return "forward:/manage/usr/mberAddView.do";
     }
 
     //사용자목록을 엑셀로 다운받는다.
-	@RequestMapping(value="/mng/usr/mberManageExcel.do")
+	@RequestMapping(value="/manage/usr/mberManageExcel.do")
     public String EgovMberManageExcel(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model) throws Exception {
 
         int totCnt = userManageService.selectUserListTotCnt(userManageVO);
@@ -163,11 +163,11 @@
     	
     	model.addAttribute("resultList", userManageService.selectUserList(userManageVO));
 
-    	return "mng/usr/MemberListExcel";
+    	return "manage/usr/MemberListExcel";
     }
 	
 	//사용자정보 수정 화면으로 이동한다.
-	@RequestMapping(value = "/mng/usr/userSelectUpdtView.do")
+	@RequestMapping(value = "/manage/usr/userSelectUpdtView.do")
     public String EgovUserSelectUpdtView(@ModelAttribute("searchVO") UserDefaultVO searchVO, UserManageVO userManageVO, HttpServletRequest request, ModelMap model) throws Exception {
 		//권한
 		CmmnDetailCodeVO voComCode = new CmmnDetailCodeVO();
@@ -186,12 +186,12 @@
     	model.addAttribute("userManageVO", result);
     	model.addAttribute("MembersFileStoreWebPath", propertiesService.getString("Members.fileStoreWebPath"));
     	
-      return "mng/usr/MemberUpdt";
+      return "manage/usr/MemberUpdt";
     }
 	
 	
 	//사용자정보 수정 처리 한다.
-	@RequestMapping(value = "/mng/usr/userSelectUpdt.do")
+	@RequestMapping(value = "/manage/usr/userSelectUpdt.do")
     public String EgovUserSelectUpdt(final MultipartHttpServletRequest multiRequest,@ModelAttribute("searchVO") UserDefaultVO searchVO, @RequestParam(value="targetId", defaultValue="", required=false) String targetId,UserManageVO userManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response)throws Exception {
   	  
 		// 아이디 체크
@@ -229,12 +229,12 @@
 		userManageService.updateManageUser(userManageVO);
 		//model.addAttribute("message", egovMessageSource.getMessage("success.common.process"));
 
-      return "forward:/mng/usr/mberManage.do";
+      return "forward:/manage/usr/mberManage.do";
     }
 	
 	
 	//관리자가 패스워드를 임의로 재발급하고 핸드폰으로 전송 한다.
-	@RequestMapping(value = "/mng/usr/sendPassword.do")
+	@RequestMapping(value = "/manage/usr/sendPassword.do")
 	public String SendPassword(
 			@ModelAttribute("searchVO") UserManageVO userManageVO, final HttpServletRequest request, Model model) throws Exception {
 
@@ -251,11 +251,11 @@
         	model.addAttribute("message", egovMessageSource.getMessage("fail.request.msg"));
         }
         
-        return "mng/usr/SendPassword";
+        return "manage/usr/SendPassword";
 	}
 	
 	//선택한 사용자 목록을 접속금지/해제 처리 한다.
-	@RequestMapping(value="/mng/usr/mberManageConfrm.do")
+	@RequestMapping(value="/manage/usr/mberManageConfrm.do")
 	public String mberManageConfrm(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model) throws Exception {
 		
     	if("N".equals(userManageVO.getConfmAt())) {
@@ -265,11 +265,11 @@
     	}
 
 		//model.addAttribute("message", egovMessageSource.getMessage("success.common.process"));
-		return "forward:/mng/usr/MberManage.do";
+		return "forward:/manage/usr/MberManage.do";
 	}
 	
 	//선택한 사용자 목록을 접속금지/해제 처리 한다.
-	@RequestMapping(value="/mng/usr/mberManageDelete.do")
+	@RequestMapping(value="/manage/usr/mberManageDelete.do")
 	public String mberManageDelete(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		
 		LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
@@ -277,16 +277,16 @@
 		userManageService.deleteUser(userManageVO);
 
 		//model.addAttribute("message", egovMessageSource.getMessage("success.common.process"));
-		return "forward:/mng/usr/mberManage.do";
+		return "forward:/manage/usr/mberManage.do";
 	}
 	
 	//사용자 엑셀파일을 일괄 업로드한다.
-	@RequestMapping(value = "/mng/usr/MberExcelUploadView.do")
+	@RequestMapping(value = "/manage/usr/MberExcelUploadView.do")
 	public String EgovMberExcelUploadView(@ModelAttribute("searchVO") UserManageVO userManageVO, Model model) throws Exception {
-		return "mng/usr/MberExcelUpload";
+		return "manage/usr/MberExcelUpload";
 	}
 	//사용자 엑셀파일을 일괄 업로드한다.
-	@RequestMapping(value = "/mng/usr/mberExcelUpload.do")
+	@RequestMapping(value = "/manage/usr/mberExcelUpload.do")
 	public String EgovMberExcelUpload(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") UserManageVO userManageVO, Model model) throws Exception {
 
 		Map<String, Object> resultList = null;
@@ -315,10 +315,10 @@
 			}
 		}
 		
-        return "mng/usr/MberExcelUpload";
+        return "manage/usr/MberExcelUpload";
 	}
 	
-	@RequestMapping(value ="/mng/usr/mberEmailDuplChk.json")
+	@RequestMapping(value ="/manage/usr/mberEmailDuplChk.json")
 	public void selectEgovMberEmailDuplChk(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		String successYn = "Y";
 		
base/src/main/java/egovframework/com/sec/ram/security/common/EgovSessionMapping.java
--- base/src/main/java/egovframework/com/sec/ram/security/common/EgovSessionMapping.java
+++ base/src/main/java/egovframework/com/sec/ram/security/common/EgovSessionMapping.java
@@ -1,81 +1,81 @@
-package egovframework.com.sec.ram.security.common;
-
-import egovframework.module.uat.uia.service.LoginVO;
-import egovframework.rte.fdl.security.userdetails.EgovUserDetails;
-import egovframework.rte.fdl.security.userdetails.jdbc.EgovUsersByUsernameMapping;
-
-import javax.sql.DataSource;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-/**
- * mapRow 결과를 사용자 EgovUserDetails Object 에 정의한다.
- * 
- * @author ByungHun Woo
- * @since 2009.06.01
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------    -------------    ----------------------
- *   2009.03.10  ByungHun Woo    최초 생성
- *   2009.03.20  이문준          UPDATE
- *
- * </pre>
- */
-
-public class EgovSessionMapping extends EgovUsersByUsernameMapping {
-	
-	/**
-	 * 사용자정보를 테이블에서 조회하여 EgovUsersByUsernameMapping 에 매핑한다.
-	 * @param ds DataSource
-	 * @param usersByUsernameQuery String
-	 */
-	public EgovSessionMapping(DataSource ds, String usersByUsernameQuery) {
-        super(ds, usersByUsernameQuery);
-    }
-
-	/**
-	 * mapRow Override
-	 * @param rs ResultSet 결과
-	 * @param rownum row num
-	 * @return Object EgovUserDetails
-	 * @exception SQLException
-	 */
-	@Override
-    protected EgovUserDetails mapRow(ResultSet rs, int rownum) throws SQLException {
-    	logger.debug("## EgovUsersByUsernameMapping mapRow ##");
-
-        String strUserId    = rs.getString("USER_ID");
-        String strPassWord  = rs.getString("PASSWORD");
-        boolean strEnabled  = rs.getBoolean("ENABLED");        
-        String strUserSe    = rs.getString("USER_SE_CODE");        
-        String strUserNm    = rs.getString("USER_NM");
-        String strUserEmail = rs.getString("EMAIL_ADRES");        
-        String strUserPhone = rs.getString("MOBLPHON_NO");        
-        String strSiteId 	= rs.getString("SITE_ID");
-        String strSiteNm 	= rs.getString("SITE_NM");
-        
-        // 세션 항목 설정
-        LoginVO loginVO = new LoginVO();
-        loginVO.setId(strUserId);
-        loginVO.setPassword(strPassWord);
-        
-        loginVO.setUserSeCode(strUserSe);
-        loginVO.setUserSe(strUserSe);
-        
-        loginVO.setName(strUserNm);
-        loginVO.setEmail(strUserEmail);
-        loginVO.setMobileNo(strUserPhone);
-        loginVO.setSiteId(strSiteId);
-        loginVO.setSiteNm(strSiteNm);
-
-        return new EgovUserDetails(strUserId, strPassWord, strEnabled, loginVO);
-    }
-}
-
+package egovframework.com.sec.ram.security.common;
+
+import egovframework.module.uat.uia.service.LoginVO;
+import egovframework.rte.fdl.security.userdetails.EgovUserDetails;
+import egovframework.rte.fdl.security.userdetails.jdbc.EgovUsersByUsernameMapping;
+
+import javax.sql.DataSource;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+/**
+ * mapRow 결과를 사용자 EgovUserDetails Object 에 정의한다.
+ * 
+ * @author ByungHun Woo
+ * @since 2009.06.01
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일      수정자           수정내용
+ *  -------    -------------    ----------------------
+ *   2009.03.10  ByungHun Woo    최초 생성
+ *   2009.03.20  이문준          UPDATE
+ *
+ * </pre>
+ */
+
+public class EgovSessionMapping extends EgovUsersByUsernameMapping {
+	
+	/**
+	 * 사용자정보를 테이블에서 조회하여 EgovUsersByUsernameMapping 에 매핑한다.
+	 * @param ds DataSource
+	 * @param usersByUsernameQuery String
+	 */
+	public EgovSessionMapping(DataSource ds, String usersByUsernameQuery) {
+        super(ds, usersByUsernameQuery);
+    }
+
+	/**
+	 * mapRow Override
+	 * @param rs ResultSet 결과
+	 * @param rownum row num
+	 * @return Object EgovUserDetails
+	 * @exception SQLException
+	 */
+	@Override
+    protected EgovUserDetails mapRow(ResultSet rs, int rownum) throws SQLException {
+    	logger.debug("## EgovUsersByUsernameMapping mapRow ##");
+
+        String strUserId    = rs.getString("USER_ID");
+        String strPassWord  = rs.getString("PASSWORD");
+        boolean strEnabled  = rs.getBoolean("ENABLED");        
+        String strUserSe    = rs.getString("USER_SE_CODE");        
+        String strUserNm    = rs.getString("USER_NM");
+        String strUserEmail = rs.getString("EMAIL_ADRES");        
+        String strUserPhone = rs.getString("MOBLPHON_NO");        
+        String strSiteId 	= rs.getString("SITE_ID");
+        String strSiteNm 	= rs.getString("SITE_NM");
+        
+        // 세션 항목 설정
+        LoginVO loginVO = new LoginVO();
+        loginVO.setId(strUserId);
+        loginVO.setPassword(strPassWord);
+        
+        loginVO.setUserSeCode(strUserSe);
+        loginVO.setUserSe(strUserSe);
+        
+        loginVO.setName(strUserNm);
+        loginVO.setEmail(strUserEmail);
+        loginVO.setMobileNo(strUserPhone);
+        loginVO.setSiteId(strSiteId);
+        loginVO.setSiteNm(strSiteNm);
+
+        return new EgovUserDetails(strUserId, strPassWord, strEnabled, loginVO);
+    }
+}
+
 	
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/com/sec/ram/security/userdetails/util/EgovUserDetailsHelper.java
--- base/src/main/java/egovframework/com/sec/ram/security/userdetails/util/EgovUserDetailsHelper.java
+++ base/src/main/java/egovframework/com/sec/ram/security/userdetails/util/EgovUserDetailsHelper.java
@@ -2,8 +2,8 @@
 
 import java.util.List;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.module.sym.sit.service.SiteManageService;
 import egovframework.module.sym.sit.service.SiteManageVO;
base/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java
--- base/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java
+++ base/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java
@@ -1,15 +1,15 @@
-package egovframework.com.sec.ram.web;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-//권한관리에 관한 controller 클래스를 정의한다.
-@Controller
-public class EgovAuthorManageController {
-
-    //권한제한 화면 이동
-    @RequestMapping("/cmm/sec/ram/accessDenied.do")
-    public String accessDenied() throws Exception {
-        return "/cmm/sec/accessDenied";
-    } 
-}
+package egovframework.com.sec.ram.web;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+//권한관리에 관한 controller 클래스를 정의한다.
+@Controller
+public class EgovAuthorManageController {
+
+    //권한제한 화면 이동
+    @RequestMapping("/cmm/sec/ram/accessDenied.do")
+    public String accessDenied() throws Exception {
+        return "/cmm/sec/accessDenied";
+    } 
+}
base/src/main/java/egovframework/com/sec/rnc/web/EgovRlnmManageController.java
--- base/src/main/java/egovframework/com/sec/rnc/web/EgovRlnmManageController.java
+++ base/src/main/java/egovframework/com/sec/rnc/web/EgovRlnmManageController.java
@@ -1,269 +1,269 @@
-package egovframework.com.sec.rnc.web;
-
-import java.text.*;
-import java.util.*;
-
-import java.util.Map;
-
-//import com.nice.OivsObject;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import egovframework.com.cmm.EgovMessageSource;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ModelAttribute;
-
-import egovframework.rte.fdl.property.EgovPropertyService;
-
-import egovframework.module.utl.cas.service.EgovSessionCookieUtil;
-import egovframework.module.utl.sim.service.EgovClntInfo;
-
-import egovframework.module.uss.umt.service.UserManageVO;
-import egovframework.com.sec.rnc.service.RealhpVO;
-
-//실명인증관련 요청을  비지니스 클래스로 전달하고 처리된결과를  해당   웹 화면으로 전달하는  Controller를 정의한다
-@Controller
-public class EgovRlnmManageController {
-
-    @Resource(name="egovMessageSource")
-    EgovMessageSource egovMessageSource;
-    
-	@Resource(name = "propertiesService")
-	  protected EgovPropertyService         propertiesService;
-		
-    /** Log Info */
-    protected Log log = LogFactory.getLog(this.getClass());
-    
-    //실명인증확인화면 호출(주민번호)
-	@RequestMapping("/sec/rnc/EgovRlnmCnfirm.do")
-    public String rlnmCnfirm(@ModelAttribute("searchVO") UserManageVO userManageVO, HttpServletRequest request, ModelMap model) throws Exception {
-		
-		//인증관련 세션
-		EgovSessionCookieUtil.removeSessionAttribute(request, "dupInfo");
-    	EgovSessionCookieUtil.removeSessionAttribute(request, "realName");
-    	EgovSessionCookieUtil.removeSessionAttribute(request, "birthDate");
-    	EgovSessionCookieUtil.removeSessionAttribute(request, "sex");
-    	EgovSessionCookieUtil.removeSessionAttribute(request, "authInfo");
-    	EgovSessionCookieUtil.removeSessionAttribute(request, "GPIN_AQ_SERVICE_SITE_USER_CONFIRM");
-
-    	return "cmm/sec/rnc/EgovRlnmCnfirm";
-
-    }
-    
-    //실명인증확인처리(주민번호)
-	/*
-	@SuppressWarnings("unused")
-    @RequestMapping("/sec/rnc/EgovRlnmCnfirmChk.do")
-    public String rlnmCnfirmChk(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, Map<String, Object> commandMap, HttpServletRequest request) throws Exception {
-
-		OivsObject oivsObject = new OivsObject();
-		String strRecvData 	= request.getParameter( "SendInfo" );
-		boolean blProc = oivsObject.resolveClientData( strRecvData );
-		
-    	String niceID = oivsObject.niceId;
-    	String ordNo = oivsObject.ordNo;
-    	String trNo = oivsObject.trNo;
-    	String retCd = oivsObject.retCd;
-    	String RretDtlCd = oivsObject.retDtlCd;
-    	String Message = oivsObject.message;
-    	String paKey = oivsObject.paKey;
-    	String dupInfo = oivsObject.dupeInfo;
-    	String realName = oivsObject.niceNm;
-    	String birthDate = oivsObject.birthday;
-    	String sex = oivsObject.sex;
-    	String foreigner = oivsObject.foreigner;
-
-    	String result = null;
-    	
-    	if("1".equals(retCd)){		//인증 성공
-    		//실명인증 처리 부분
-        	model.addAttribute("niceID",     niceID);		//회원사ID
-        	model.addAttribute("ordNo",     ordNo);			//내부번호
-        	model.addAttribute("trNo",    trNo);			//한신정 내부번호
-        	model.addAttribute("retCd",    retCd);			//결과코드
-        	model.addAttribute("Message",    Message);		//결과상세코드
-        	model.addAttribute("paKey",    paKey);			//주민번호 대체 13자리코드
-        	model.addAttribute("dupInfo",    dupInfo);		//G-Pin 호환 키값
-        	model.addAttribute("realName",    realName);	//반환하는 실명
-        	model.addAttribute("sex",    sex);				//생년월일
-        	model.addAttribute("foreigner",    foreigner);	//외국인여부
-
-        	EgovSessionCookieUtil.setSessionAttribute(request, "dupInfo", dupInfo);
-        	EgovSessionCookieUtil.setSessionAttribute(request, "realName", realName);
-        	EgovSessionCookieUtil.setSessionAttribute(request, "birthDate", birthDate);
-        	EgovSessionCookieUtil.setSessionAttribute(request, "sex", sex);
-        	EgovSessionCookieUtil.setSessionAttribute(request, "foreigner", foreigner);
-        	
-    	}else{
-
-    		if("A".equals(RretDtlCd)){
-    			result = "sec.real.A";
-    		}else if("B".equals(RretDtlCd)){
-    			result = "sec.real.B";
-    		}else if("C".equals(RretDtlCd)){
-    			result = "sec.real.C";
-    		}else if("D".equals(RretDtlCd)){
-    			result = "sec.real.D";
-    		}else if("E".equals(RretDtlCd)){
-    			result = "sec.real.E";
-    		}else if("F".equals(RretDtlCd)){
-    			result = "sec.real.F";
-    		}else if("Y".equals(RretDtlCd)){
-    			result = "sec.real.Y";
-    		}else if("G".equals(RretDtlCd)){
-    			result = "sec.real.G";
-    		}else if("H".equals(RretDtlCd)){
-    			result = "sec.real.H";
-    		}else if("Z".equals(RretDtlCd)){
-    			result = "sec.real.Z";
-    		}
-    	}
-    	if(result != null){
-			model.addAttribute("message", egovMessageSource.getMessage(result));   //실명확인 결과
-		}
-        return "cmm/sec/rnc/EgovRlnmCnfirmChk";
-    }
-	*/
-	//G-PIN 인증 실행
-    @RequestMapping("/sec/rnc/EgovGpinCnfirm.do")
-    public String gpinCnfirm(HttpServletRequest request) throws Exception {
-
-    	return "cmm/sec/rnc/EgovGpinCnfirm";
-	}
-    
-	//G-PIN 인증 처리결과
-    @RequestMapping("/sec/rnc/EgovGpinCnfirmChk.do")
-    public String gpinCnfirmChk(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, Map<String, Object> commandMap, HttpServletRequest request) throws Exception {
-
-		String gpinUserIP = (String)EgovSessionCookieUtil.getSessionAttribute(request, "gpinUserIP");
-		String dupInfo = (String)EgovSessionCookieUtil.getSessionAttribute(request, "dupInfo");
-		String realName = (String)EgovSessionCookieUtil.getSessionAttribute(request, "realName");
-		String nationalInfo = (String)EgovSessionCookieUtil.getSessionAttribute(request, "nationalInfo");
-		if ("0".equals(nationalInfo)){
-			EgovSessionCookieUtil.setSessionAttribute(request, "foreigner", "1");	//내국인
-		}else{
-			EgovSessionCookieUtil.setSessionAttribute(request, "foreigner", "2");	//외국인
-		}
-    	
-    	
-		//요청IP와 다를경우
-		if (!gpinUserIP.equals(EgovClntInfo.getClntIP(request))){
-			model.addAttribute("message", egovMessageSource.getMessage("fail.common.msg"));
-			return "cmm/sec/rnc/EgovRlnmCnfirm";
-		}
-
-    	model.addAttribute("retCd",    '1');			//결과코드(1성공)
-    	model.addAttribute("dupInfo",    dupInfo);	//G-Pin 호환 키값
-    	model.addAttribute("niceNm",    realName);		//반환하는 실명
-    	return "cmm/sec/rnc/EgovGpinCnfirmChk";
-	}
-	
-	//핸드폰 실명인증 처리실행
-	@RequestMapping("/sec/rnc/RealhpCnfirm.do")
-    public String realhpCnfirm(RealhpVO realhpVO, HttpServletRequest request, ModelMap model) throws Exception {
-		
-		EgovSessionCookieUtil.removeSessionAttribute(request, "childPhone");
-		EgovSessionCookieUtil.removeSessionAttribute(request, "childIhidnum");
-		
-		boolean result = true;
-		
-		String message = "";
-		
-		String userIhidnum = realhpVO.getCp_client();
-		String cpIhidnum = realhpVO.getCp_jumin();
-		String cpPhone = realhpVO.getCp_phone();
-		
-		//14세 이상 인증
-		if(getMyAge(userIhidnum) > 14){
-			message = "14세 이상은 일반 회원가입으로 진행해 주십시오.";
-			result = false;
-		}
-		
-		//주민번호 유효성 체크
-		if(!getCheck(userIhidnum)){
-			message = "14세 미만 주민등록번호가 유효하지 않습니다";
-			result = false;
-		}
-		
-		//주민번호 유효성 체크
-		if(!getCheck(cpIhidnum)){
-			message = "보호자 주민등록번호가 유효하지 않습니다";
-			result = false;
-		}
-		
-		//14세 미만 회원가입 중복 체크
-		/*
-		if (userManageService.checkChildDplct(realhpVO) > 0) {
-			message = "입력하신 정보는 이미 14세미만 어린이회원으로 가입된 정보입니다.";
-			result = false;
-    	}
-    	*/
-		
-		if (result){
-			EgovSessionCookieUtil.setSessionAttribute(request, "childPhone", cpPhone);
-			EgovSessionCookieUtil.setSessionAttribute(request, "childIhidnum", userIhidnum);
-		}
-		
-		model.addAttribute("message", message);
-		model.addAttribute("result", result);
-		
-		return "cmm/sec/rnc/EgovRlhpCnfirm";
-	}
-	
-	//핸드폰 실명인증 처리결과
-	@RequestMapping("/sec/rnc/RealhpCheck.do")
-    public String realhpCheck(RealhpVO realhpVO, HttpServletRequest request, ModelMap model) throws Exception {
-
-		return "cmm/sec/rnc/EgovRlhpCnfirmChk";
-    }
-	
-
-	public boolean getCheck(String x)
-	 {
-	  int y[] = {2,3,4,5,6,7,8,9,2,3,4,5};
-	  int sum = 0;
-	  
-	  for (int i = 0 ; i < x.length()-1 ; i++)
-	  {
-	   sum += (x.charAt(i) - 48) * y[i];
-	  }
-	  
-	  int temp = 11 * (sum/11) + 11 - sum;
-	  int re = temp - 10 * (temp/10);
-	  
-	  boolean check = false;
-	  if(re == x.charAt(12)-48) // string (ASCII)값을  int로 바꿔주기위해서 -48을 실행
-	   check = true;
-	  return check;
-	 }
-
-
-	public static int getMyAge(String idNum){
-
-		String today = ""; //시스템 날짜
-		String birthday = ""; //생일
-		int myAge = 0; //만 나이
-
-		SimpleDateFormat formatter = new SimpleDateFormat("yyyy", Locale.KOREA);
-
-		today = formatter.format(new Date()); //시스템 날짜를 가져와서 yyyy 형태로 변환
-
-		if(idNum.charAt(6) == '1' || idNum.charAt(6) == '2'){
-			birthday = "19" + idNum.substring(0, 2); //주민번호 7번째 자리수가 1 또는 2이면 1900년대 출생
-		}else{ 
-			birthday = "20" + idNum.substring(0, 2); //주민번호 7번째 자리수가 1 또는 2가 아니면 2000년대 출생
-		} 
-
-		myAge = Integer.parseInt(today) - Integer.parseInt(birthday) + 1; //현재년도 - 생년 + 1
-
-		return myAge;
-
-		}
-
-
+package egovframework.com.sec.rnc.web;
+
+import java.text.*;
+import java.util.*;
+
+import java.util.Map;
+
+//import com.nice.OivsObject;
+
+import javax.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+import egovframework.com.cmm.EgovMessageSource;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+
+import egovframework.rte.fdl.property.EgovPropertyService;
+
+import egovframework.module.utl.cas.service.EgovSessionCookieUtil;
+import egovframework.module.utl.sim.service.EgovClntInfo;
+
+import egovframework.module.uss.umt.service.UserManageVO;
+import egovframework.com.sec.rnc.service.RealhpVO;
+
+//실명인증관련 요청을  비지니스 클래스로 전달하고 처리된결과를  해당   웹 화면으로 전달하는  Controller를 정의한다
+@Controller
+public class EgovRlnmManageController {
+
+    @Resource(name="egovMessageSource")
+    EgovMessageSource egovMessageSource;
+    
+	@Resource(name = "propertiesService")
+	  protected EgovPropertyService         propertiesService;
+		
+    /** Log Info */
+    protected Log log = LogFactory.getLog(this.getClass());
+    
+    //실명인증확인화면 호출(주민번호)
+	@RequestMapping("/sec/rnc/EgovRlnmCnfirm.do")
+    public String rlnmCnfirm(@ModelAttribute("searchVO") UserManageVO userManageVO, HttpServletRequest request, ModelMap model) throws Exception {
+		
+		//인증관련 세션
+		EgovSessionCookieUtil.removeSessionAttribute(request, "dupInfo");
+    	EgovSessionCookieUtil.removeSessionAttribute(request, "realName");
+    	EgovSessionCookieUtil.removeSessionAttribute(request, "birthDate");
+    	EgovSessionCookieUtil.removeSessionAttribute(request, "sex");
+    	EgovSessionCookieUtil.removeSessionAttribute(request, "authInfo");
+    	EgovSessionCookieUtil.removeSessionAttribute(request, "GPIN_AQ_SERVICE_SITE_USER_CONFIRM");
+
+    	return "cmm/sec/rnc/EgovRlnmCnfirm";
+
+    }
+    
+    //실명인증확인처리(주민번호)
+	/*
+	@SuppressWarnings("unused")
+    @RequestMapping("/sec/rnc/EgovRlnmCnfirmChk.do")
+    public String rlnmCnfirmChk(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, Map<String, Object> commandMap, HttpServletRequest request) throws Exception {
+
+		OivsObject oivsObject = new OivsObject();
+		String strRecvData 	= request.getParameter( "SendInfo" );
+		boolean blProc = oivsObject.resolveClientData( strRecvData );
+		
+    	String niceID = oivsObject.niceId;
+    	String ordNo = oivsObject.ordNo;
+    	String trNo = oivsObject.trNo;
+    	String retCd = oivsObject.retCd;
+    	String RretDtlCd = oivsObject.retDtlCd;
+    	String Message = oivsObject.message;
+    	String paKey = oivsObject.paKey;
+    	String dupInfo = oivsObject.dupeInfo;
+    	String realName = oivsObject.niceNm;
+    	String birthDate = oivsObject.birthday;
+    	String sex = oivsObject.sex;
+    	String foreigner = oivsObject.foreigner;
+
+    	String result = null;
+    	
+    	if("1".equals(retCd)){		//인증 성공
+    		//실명인증 처리 부분
+        	model.addAttribute("niceID",     niceID);		//회원사ID
+        	model.addAttribute("ordNo",     ordNo);			//내부번호
+        	model.addAttribute("trNo",    trNo);			//한신정 내부번호
+        	model.addAttribute("retCd",    retCd);			//결과코드
+        	model.addAttribute("Message",    Message);		//결과상세코드
+        	model.addAttribute("paKey",    paKey);			//주민번호 대체 13자리코드
+        	model.addAttribute("dupInfo",    dupInfo);		//G-Pin 호환 키값
+        	model.addAttribute("realName",    realName);	//반환하는 실명
+        	model.addAttribute("sex",    sex);				//생년월일
+        	model.addAttribute("foreigner",    foreigner);	//외국인여부
+
+        	EgovSessionCookieUtil.setSessionAttribute(request, "dupInfo", dupInfo);
+        	EgovSessionCookieUtil.setSessionAttribute(request, "realName", realName);
+        	EgovSessionCookieUtil.setSessionAttribute(request, "birthDate", birthDate);
+        	EgovSessionCookieUtil.setSessionAttribute(request, "sex", sex);
+        	EgovSessionCookieUtil.setSessionAttribute(request, "foreigner", foreigner);
+        	
+    	}else{
+
+    		if("A".equals(RretDtlCd)){
+    			result = "sec.real.A";
+    		}else if("B".equals(RretDtlCd)){
+    			result = "sec.real.B";
+    		}else if("C".equals(RretDtlCd)){
+    			result = "sec.real.C";
+    		}else if("D".equals(RretDtlCd)){
+    			result = "sec.real.D";
+    		}else if("E".equals(RretDtlCd)){
+    			result = "sec.real.E";
+    		}else if("F".equals(RretDtlCd)){
+    			result = "sec.real.F";
+    		}else if("Y".equals(RretDtlCd)){
+    			result = "sec.real.Y";
+    		}else if("G".equals(RretDtlCd)){
+    			result = "sec.real.G";
+    		}else if("H".equals(RretDtlCd)){
+    			result = "sec.real.H";
+    		}else if("Z".equals(RretDtlCd)){
+    			result = "sec.real.Z";
+    		}
+    	}
+    	if(result != null){
+			model.addAttribute("message", egovMessageSource.getMessage(result));   //실명확인 결과
+		}
+        return "cmm/sec/rnc/EgovRlnmCnfirmChk";
+    }
+	*/
+	//G-PIN 인증 실행
+    @RequestMapping("/sec/rnc/EgovGpinCnfirm.do")
+    public String gpinCnfirm(HttpServletRequest request) throws Exception {
+
+    	return "cmm/sec/rnc/EgovGpinCnfirm";
+	}
+    
+	//G-PIN 인증 처리결과
+    @RequestMapping("/sec/rnc/EgovGpinCnfirmChk.do")
+    public String gpinCnfirmChk(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, Map<String, Object> commandMap, HttpServletRequest request) throws Exception {
+
+		String gpinUserIP = (String)EgovSessionCookieUtil.getSessionAttribute(request, "gpinUserIP");
+		String dupInfo = (String)EgovSessionCookieUtil.getSessionAttribute(request, "dupInfo");
+		String realName = (String)EgovSessionCookieUtil.getSessionAttribute(request, "realName");
+		String nationalInfo = (String)EgovSessionCookieUtil.getSessionAttribute(request, "nationalInfo");
+		if ("0".equals(nationalInfo)){
+			EgovSessionCookieUtil.setSessionAttribute(request, "foreigner", "1");	//내국인
+		}else{
+			EgovSessionCookieUtil.setSessionAttribute(request, "foreigner", "2");	//외국인
+		}
+    	
+    	
+		//요청IP와 다를경우
+		if (!gpinUserIP.equals(EgovClntInfo.getClntIP(request))){
+			model.addAttribute("message", egovMessageSource.getMessage("fail.common.msg"));
+			return "cmm/sec/rnc/EgovRlnmCnfirm";
+		}
+
+    	model.addAttribute("retCd",    '1');			//결과코드(1성공)
+    	model.addAttribute("dupInfo",    dupInfo);	//G-Pin 호환 키값
+    	model.addAttribute("niceNm",    realName);		//반환하는 실명
+    	return "cmm/sec/rnc/EgovGpinCnfirmChk";
+	}
+	
+	//핸드폰 실명인증 처리실행
+	@RequestMapping("/sec/rnc/RealhpCnfirm.do")
+    public String realhpCnfirm(RealhpVO realhpVO, HttpServletRequest request, ModelMap model) throws Exception {
+		
+		EgovSessionCookieUtil.removeSessionAttribute(request, "childPhone");
+		EgovSessionCookieUtil.removeSessionAttribute(request, "childIhidnum");
+		
+		boolean result = true;
+		
+		String message = "";
+		
+		String userIhidnum = realhpVO.getCp_client();
+		String cpIhidnum = realhpVO.getCp_jumin();
+		String cpPhone = realhpVO.getCp_phone();
+		
+		//14세 이상 인증
+		if(getMyAge(userIhidnum) > 14){
+			message = "14세 이상은 일반 회원가입으로 진행해 주십시오.";
+			result = false;
+		}
+		
+		//주민번호 유효성 체크
+		if(!getCheck(userIhidnum)){
+			message = "14세 미만 주민등록번호가 유효하지 않습니다";
+			result = false;
+		}
+		
+		//주민번호 유효성 체크
+		if(!getCheck(cpIhidnum)){
+			message = "보호자 주민등록번호가 유효하지 않습니다";
+			result = false;
+		}
+		
+		//14세 미만 회원가입 중복 체크
+		/*
+		if (userManageService.checkChildDplct(realhpVO) > 0) {
+			message = "입력하신 정보는 이미 14세미만 어린이회원으로 가입된 정보입니다.";
+			result = false;
+    	}
+    	*/
+		
+		if (result){
+			EgovSessionCookieUtil.setSessionAttribute(request, "childPhone", cpPhone);
+			EgovSessionCookieUtil.setSessionAttribute(request, "childIhidnum", userIhidnum);
+		}
+		
+		model.addAttribute("message", message);
+		model.addAttribute("result", result);
+		
+		return "cmm/sec/rnc/EgovRlhpCnfirm";
+	}
+	
+	//핸드폰 실명인증 처리결과
+	@RequestMapping("/sec/rnc/RealhpCheck.do")
+    public String realhpCheck(RealhpVO realhpVO, HttpServletRequest request, ModelMap model) throws Exception {
+
+		return "cmm/sec/rnc/EgovRlhpCnfirmChk";
+    }
+	
+
+	public boolean getCheck(String x)
+	 {
+	  int y[] = {2,3,4,5,6,7,8,9,2,3,4,5};
+	  int sum = 0;
+	  
+	  for (int i = 0 ; i < x.length()-1 ; i++)
+	  {
+	   sum += (x.charAt(i) - 48) * y[i];
+	  }
+	  
+	  int temp = 11 * (sum/11) + 11 - sum;
+	  int re = temp - 10 * (temp/10);
+	  
+	  boolean check = false;
+	  if(re == x.charAt(12)-48) // string (ASCII)값을  int로 바꿔주기위해서 -48을 실행
+	   check = true;
+	  return check;
+	 }
+
+
+	public static int getMyAge(String idNum){
+
+		String today = ""; //시스템 날짜
+		String birthday = ""; //생일
+		int myAge = 0; //만 나이
+
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy", Locale.KOREA);
+
+		today = formatter.format(new Date()); //시스템 날짜를 가져와서 yyyy 형태로 변환
+
+		if(idNum.charAt(6) == '1' || idNum.charAt(6) == '2'){
+			birthday = "19" + idNum.substring(0, 2); //주민번호 7번째 자리수가 1 또는 2이면 1900년대 출생
+		}else{ 
+			birthday = "20" + idNum.substring(0, 2); //주민번호 7번째 자리수가 1 또는 2가 아니면 2000년대 출생
+		} 
+
+		myAge = Integer.parseInt(today) - Integer.parseInt(birthday) + 1; //현재년도 - 생년 + 1
+
+		return myAge;
+
+		}
+
+
 }
(파일 끝에 줄바꿈 문자 없음)
base/src/main/java/egovframework/module/sym/log/service/EgovLogManageAspect.java
--- base/src/main/java/egovframework/module/sym/log/service/EgovLogManageAspect.java
+++ base/src/main/java/egovframework/module/sym/log/service/EgovLogManageAspect.java
@@ -3,7 +3,7 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
base/src/main/java/egovframework/module/sym/sit/service/SiteManageService.java
--- base/src/main/java/egovframework/module/sym/sit/service/SiteManageService.java
+++ base/src/main/java/egovframework/module/sym/sit/service/SiteManageService.java
@@ -3,7 +3,7 @@
 import java.util.HashMap;
 import java.util.List;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 //사이트정보를 처리하는 클래스
 public interface SiteManageService {
base/src/main/java/egovframework/module/sym/sit/service/impl/SiteManageServiceImpl.java
--- base/src/main/java/egovframework/module/sym/sit/service/impl/SiteManageServiceImpl.java
+++ base/src/main/java/egovframework/module/sym/sit/service/impl/SiteManageServiceImpl.java
@@ -7,7 +7,7 @@
 import java.util.List;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import egovframework.module.cop.bbs.service.BoardMasterVO;
 import org.springframework.stereotype.Service;
base/src/main/java/egovframework/module/uat/uia/service/LoginService.java
--- base/src/main/java/egovframework/module/uat/uia/service/LoginService.java
+++ base/src/main/java/egovframework/module/uat/uia/service/LoginService.java
@@ -8,7 +8,7 @@
 import com.github.scribejava.core.model.OAuth2AccessToken;
 import egovframework.module.sym.log.service.LoginInfoVO;
 
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSession;
 
 //일반 로그인, 인증서 로그인을 처리하는 비즈니스 인터페이스 클래스
 public interface LoginService {
base/src/main/java/egovframework/module/uat/uia/service/impl/LoginServiceImpl.java
--- base/src/main/java/egovframework/module/uat/uia/service/impl/LoginServiceImpl.java
+++ base/src/main/java/egovframework/module/uat/uia/service/impl/LoginServiceImpl.java
@@ -7,7 +7,7 @@
 import java.util.regex.Pattern;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSession;
 
 import com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap;
 import com.github.scribejava.core.builder.ServiceBuilder;
@@ -50,7 +50,6 @@
 import egovframework.module.utl.sim.service.EgovCrypTo;
 import egovframework.module.sms.service.SmsInfoService;
 import org.springframework.util.StringUtils;
-import sun.net.www.http.HttpClient;
 
 //일반 로그인, 인증서 로그인을 처리하는 비즈니스 구현 클래스
 @Service("loginService")
base/src/main/java/egovframework/module/utl/cas/service/EgovSessionCookieUtil.java
--- base/src/main/java/egovframework/module/utl/cas/service/EgovSessionCookieUtil.java
+++ base/src/main/java/egovframework/module/utl/cas/service/EgovSessionCookieUtil.java
@@ -21,10 +21,10 @@
 import java.net.URLEncoder;
 import java.util.Enumeration;
 
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 public class EgovSessionCookieUtil {
 
base/src/main/java/egovframework/module/utl/fcc/service/EgovFormBasedFileUtil.java
--- base/src/main/java/egovframework/module/utl/fcc/service/EgovFormBasedFileUtil.java
+++ base/src/main/java/egovframework/module/utl/fcc/service/EgovFormBasedFileUtil.java
@@ -13,7 +13,7 @@
 import java.util.Date;
 import java.util.Scanner;
 
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * @Class Name  : EgovFormBasedFileUtil.java
base/src/main/java/egovframework/module/utl/fcc/service/EgovHttpUtil.java
--- base/src/main/java/egovframework/module/utl/fcc/service/EgovHttpUtil.java
+++ base/src/main/java/egovframework/module/utl/fcc/service/EgovHttpUtil.java
@@ -3,7 +3,7 @@
 import java.util.Enumeration;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
base/src/main/java/egovframework/module/utl/fcc/service/MapUtil.java
--- base/src/main/java/egovframework/module/utl/fcc/service/MapUtil.java
+++ base/src/main/java/egovframework/module/utl/fcc/service/MapUtil.java
@@ -4,8 +4,8 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.module.uat.uia.service.LoginVO;
base/src/main/java/egovframework/module/utl/sim/service/EgovClntInfo.java
--- base/src/main/java/egovframework/module/utl/sim/service/EgovClntInfo.java
+++ base/src/main/java/egovframework/module/utl/sim/service/EgovClntInfo.java
@@ -16,7 +16,7 @@
  */
 package egovframework.module.utl.sim.service;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 import egovframework.com.cmm.service.EgovProperties;
 import egovframework.com.cmm.service.Globals;
 
 
base/src/main/java/org/springmodules/validation/commons/DefaultBeanValidator.java (added)
+++ base/src/main/java/org/springmodules/validation/commons/DefaultBeanValidator.java
@@ -0,0 +1,51 @@
+package org.springmodules.validation.commons;
+
+import java.util.Set;
+
+import jakarta.validation.ConstraintViolation;
+
+import org.springframework.validation.Errors;
+import org.springframework.validation.Validator;
+
+/**
+ * 스프링 모듈 DefaultBeanValidator 대체 구현
+ */
+public class DefaultBeanValidator implements Validator {
+
+    private DefaultValidatorFactory validatorFactory;
+    private jakarta.validation.Validator validator;
+
+    public void setValidatorFactory(DefaultValidatorFactory validatorFactory) {
+        this.validatorFactory = validatorFactory;
+    }
+
+    public void setValidator(jakarta.validation.Validator validator) {
+        this.validator = validator;
+    }
+
+    @Override
+    public boolean supports(Class<?> clazz) {
+        return true;
+    }
+
+    @Override
+    public void validate(Object target, Errors errors) {
+        jakarta.validation.Validator effectiveValidator = this.validator;
+        if (effectiveValidator == null && validatorFactory != null) {
+            effectiveValidator = validatorFactory.getValidator();
+        }
+        if (effectiveValidator == null) {
+            return;
+        }
+        Set<ConstraintViolation<Object>> violations = effectiveValidator.validate(target);
+        for (ConstraintViolation<Object> violation : violations) {
+            String field = violation.getPropertyPath() != null ? violation.getPropertyPath().toString() : "";
+            String message = violation.getMessage();
+            if (field.isEmpty()) {
+                errors.reject("validation.error", message);
+            } else {
+                errors.rejectValue(field, "validation.error", message);
+            }
+        }
+    }
+}
 
base/src/main/java/org/springmodules/validation/commons/DefaultValidatorFactory.java (added)
+++ base/src/main/java/org/springmodules/validation/commons/DefaultValidatorFactory.java
@@ -0,0 +1,31 @@
+package org.springmodules.validation.commons;
+
+import java.util.List;
+
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
+
+/**
+ * 스프링 모듈 검증 팩토리 대체 구현
+ */
+public class DefaultValidatorFactory {
+
+    private List<String> validationConfigLocations;
+    private ValidatorFactory validatorFactory;
+
+    public void setValidationConfigLocations(List<String> validationConfigLocations) {
+        this.validationConfigLocations = validationConfigLocations;
+    }
+
+    public List<String> getValidationConfigLocations() {
+        return validationConfigLocations;
+    }
+
+    public Validator getValidator() {
+        if (validatorFactory == null) {
+            validatorFactory = Validation.buildDefaultValidatorFactory();
+        }
+        return validatorFactory.getValidator();
+    }
+}
 
base/src/main/resources/application.yml (added)
+++ base/src/main/resources/application.yml
@@ -0,0 +1,20 @@
+spring:
+  datasource:
+    url: ${BASECMS_DB_URL:jdbc:mariadb://localhost:3306/base}
+    username: ${BASECMS_DB_USER:root}
+    password: ${BASECMS_DB_PASSWORD:}
+    driver-class-name: org.mariadb.jdbc.Driver
+  jpa:
+    open-in-view: false
+    hibernate:
+      ddl-auto: none
+    properties:
+      hibernate:
+        format_sql: true
+        show_sql: false
+  servlet:
+    multipart:
+      max-file-size: 1000MB
+      max-request-size: 1000MB
+
+# 운영환경에서는 환경변수로 접속 정보를 주입
base/src/main/resources/egovframework/spring/context-common.xml
--- base/src/main/resources/egovframework/spring/context-common.xml
+++ base/src/main/resources/egovframework/spring/context-common.xml
@@ -74,24 +74,9 @@
 		</property>
 	</bean>
 	
-    <!-- MULTIPART RESOLVERS -->
-    <!-- regular spring resolver -->    
-    <bean id="spring.RegularCommonsMultipartResolver"
-     class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
-        <property name="maxUploadSize" value="1000000000" />
-        <property name="maxInMemorySize" value="1000000000" />
-    </bean>
-    
-    <!-- custom multi file resolver -->    
-    <bean id="local.MultiCommonsMultipartResolver"
-      class="egovframework.com.cmm.web.EgovMultipartResolver">
-        <property name="maxUploadSize" value="1000000000" />
-        <property name="maxInMemorySize" value="1000000000" />
-    </bean>
-    
-    <!-- choose one from above and alias it to the name Spring expects -->
-    <!-- alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" /-->
-    <alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
+    <!-- 멀티파트 리졸버(스프링 부트 3 기준) -->
+    <bean id="multipartResolver"
+     class="org.springframework.web.multipart.support.StandardServletMultipartResolver" />
     
     <bean id="taskExecutor"
 		class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
base/src/main/resources/egovframework/spring/context-validator.xml
--- base/src/main/resources/egovframework/spring/context-validator.xml
+++ base/src/main/resources/egovframework/spring/context-validator.xml
@@ -4,7 +4,7 @@
 		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
 				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 	
-		<!-- Integration Apache Commons Validator by Spring Modules -->				
+		<!-- 검증 팩토리 설정(스프링 부트 3 환경용 대체 구현) -->				
 	<bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator">
 	<property name="validatorFactory" ref="validatorFactory"/>
 	</bean>
 
base/src/main/resources/templates/code404.html (added)
+++ base/src/main/resources/templates/code404.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>에러 페이지</title>
+<link type="text/css" rel="stylesheet" href="/template/common/css/default.css" />
+<script type="text/javascript">
+function fncGoAfterErrorPage(){
+    history.back(-2);
+}
+</script>
+</head>
+
+<body>
+404에러
+<!-- 
+<table style="width:100%;height:100%;"border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td height="100%" align="center" valign="middle">
+
+    <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+        <td align="center">
+        	<a href="javascript:fncGoAfterErrorPage()"><img src="/template/common/images/error404.gif" alt="페이지를 찾을 수 없습니다."/></a>
+        </td>
+      </tr>
+    </table>
+    </td>
+  </tr>
+</table>
+ -->
+</body>
+</html>
+
 
base/src/main/resources/templates/code500.html (added)
+++ base/src/main/resources/templates/code500.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>에러 페이지</title>
+<link type="text/css" rel="stylesheet" href="/template/common/css/default.css" />
+<script type="text/javascript">
+function fncGoAfterErrorPage(){
+    history.back(-2);
+}
+</script>
+</head>
+
+<body>
+500에러
+<!-- 
+<table style="width:100%;height:100%;"border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td height="100%" align="center" valign="middle">
+
+    <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+        <td align="center">
+        	<a href="javascript:fncGoAfterErrorPage()"><img src="/template/common/images/error404.gif" alt="페이지를 찾을 수 없습니다."/></a>
+        </td>
+      </tr>
+    </table>
+    </td>
+  </tr>
+</table>
+ -->
+</body>
+</html>(파일 끝에 줄바꿈 문자 없음)
 
base/src/main/resources/templates/egovframework/cmm/dataAccessFailure.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/dataAccessFailure.html
@@ -0,0 +1,30 @@
+<html xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>요청하신 페이지에 에러가 발생하였습니다. (Data : ${exception.message})</title>
+<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/template/common/css/default.css" />
+<script language="javascript">
+function fncGoAfterErrorPage(){
+    history.back(-2);
+}
+</script>
+</head>
+
+<body>
+<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
+  <tr>
+    <td height="100%" align="center" valign="middle">
+
+    <table border="0" cellpadding="0" cellspacing="0">
+      <tr>
+        <td align="center">
+        	<a href="javascript:fncGoAfterErrorPage()"><img src="${pageContext.request.contextPath}/template/common/images/error500.gif" alt="서비스이용이 원할하지 않습니다."/></a>
+        </td>
+      </tr>
+    </table>
+    </td>
+  </tr>
+</table>
+</body>
+</html>
+
 
base/src/main/resources/templates/egovframework/cmm/egovBizException.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/egovBizException.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/egovError.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/egovError.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/egovFrameBizResult.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/egovFrameBizResult.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/egovHttpSessionException.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/egovHttpSessionException.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/fms/EgovDtaResFileList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/fms/EgovDtaResFileList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/fms/EgovFileList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/fms/EgovFileList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/fms/EgovImgFileList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/fms/EgovImgFileList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/include/defualt.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/include/defualt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/accessDenied.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/accessDenied.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorGroupManage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorGroupManage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorInsert.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorInsert.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorManage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorManage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorRoleManage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorRoleManage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorUpdate.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovAuthorUpdate.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovDeptAuthorManage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovDeptAuthorManage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovDeptSearch.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovDeptSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupInsert.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupInsert.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupManage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupManage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupSearch.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupUpdate.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovGroupUpdate.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovRoleInsert.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovRoleInsert.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovRoleManage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovRoleManage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovRoleUpdate.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/ram/EgovRoleUpdate.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovCallGpin.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovCallGpin.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovGpinCnfirm.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovGpinCnfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovGpinCnfirmChk.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovGpinCnfirmChk.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlhpCnfirm.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlhpCnfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlhpCnfirmChk.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlhpCnfirmChk.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlnmCnfirm.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlnmCnfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlnmCnfirmChk.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlnmCnfirmChk.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlnmPinCnfirm.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sec/rnc/EgovRlnmPinCnfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeModify.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeModify.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnCodeDetail.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnCodeDetail.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmExcelZipRegist.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmExcelZipRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmRdnmZipSearchList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmRdnmZipSearchList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipDetail.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipDetail.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipModify.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipRegist.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipSearchList.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipSearchList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipSearchPopup.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/sym/zip/EgovCcmZipSearchPopup.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/utl/wed/EgovInsertImage.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/utl/wed/EgovInsertImage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/cmm/validator.html (added)
+++ base/src/main/resources/templates/egovframework/cmm/validator.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyAdresDplct.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyAdresDplct.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyClosing.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyClosing.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyInfo.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyInfo.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyInfs.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyInfs.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyMainPage.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyMainPage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyMsg.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyMsg.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyNmDplct.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyNmDplct.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyRegist.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyStplat.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyStplat.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyUpdt.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyUpdt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyUserBySelf.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyUserBySelf.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyUserSecsn.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmmntyUserSecsn.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmybbsMstrList.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCmybbsMstrList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCommntyBoardList.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/EgovCommntyBoardList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/EgovBoardMstrRegist.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/EgovBoardMstrRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovCommentList.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovCommentList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovNoticeInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovNoticeInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovNoticeList.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovNoticeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovNoticeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/cmy/bbs/cmy_001/EgovNoticeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/com/EgovConfirmList.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/com/EgovConfirmList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/com/EgovConfmInfUpdt.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/com/EgovConfmInfUpdt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/com/EgovUserList.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/com/EgovUserList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/com/EgovUserListPop.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/com/EgovUserListPop.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/cop/com/selectAllBBSMasterManageInfs.html (added)
+++ base/src/main/resources/templates/egovframework/front/cop/com/selectAllBBSMasterManageInfs.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventFinish.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventFinish.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventForm.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventForm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventPop.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventPop.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventResult.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventResult.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventUser.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulEventUser.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoCalendar.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoCalendar.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoList.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoRegister.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoView.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/ComtnschdulinfoView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/evt/popupList.html (added)
+++ base/src/main/resources/templates/egovframework/front/evt/popupList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/cmm/tmplatBottom.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/cmm/tmplatBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/cmm/tmplatHead.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/cmm/tmplatHead.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/cntntsService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/cntntsService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/mma/index.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/mma/index.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/mma/tmplatBottom.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/mma/tmplatBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/mma/tmplatHead.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/mma/tmplatHead.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/sch/tmplatBottom.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/sch/tmplatBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/sch/tmplatHead.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/sch/tmplatHead.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/siteMap.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/siteMap.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/bannerService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/bannerService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/bbsSearchService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/bbsSearchService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/boardMoreService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/boardMoreService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/boardService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/boardService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/eventService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/eventService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/linkSiteService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/linkSiteService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/menuService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/menuService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/popupService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/popupService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/msi/svc/searchBoardService.html (added)
+++ base/src/main/resources/templates/egovframework/front/msi/svc/searchBoardService.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/EgovBbsSearch.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/EgovBbsSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/EgovCmySearch.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/EgovCmySearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/EgovTotalSearch.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/EgovTotalSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/EgovVodSearch.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/EgovVodSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/scheduleCalendar.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/scheduleCalendar.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/todaySchedule.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/todaySchedule.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sch/todayScheduleAjax.html (added)
+++ base/src/main/resources/templates/egovframework/front/sch/todayScheduleAjax.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovLoginLogInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovLoginLogInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovLoginLogList.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovLoginLogList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistList.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistRegist.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistUpdt.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovSysHistUpdt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovSysLogInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovSysLogInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovSysLogList.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovSysLogList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovTrsmrcvLogInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovTrsmrcvLogInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovTrsmrcvLogList.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovTrsmrcvLogList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovTrsmrcvLogRegist.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovTrsmrcvLogRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovUserLogInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovUserLogInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovUserLogList.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovUserLogList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovWebLogInqire.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovWebLogInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/sym/log/EgovWebLogList.html (added)
+++ base/src/main/resources/templates/egovframework/front/sym/log/EgovWebLogList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/ChangePassword.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/ChangePassword.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/ChangePasswordComplete.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/ChangePasswordComplete.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovIdSearch.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovIdSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovIdSearchComplete.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovIdSearchComplete.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovLoginUsr.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovLoginUsr.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovPasswordSearch.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovPasswordSearch.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovPasswordSearchComplete.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovPasswordSearchComplete.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovUserIdPwRegistDn.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovUserIdPwRegistDn.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovUserRegistDn.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovUserRegistDn.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uat/uia/EgovUserRequestRegistDn.html (added)
+++ base/src/main/resources/templates/egovframework/front/uat/uia/EgovUserRequestRegistDn.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/bnr/BannerList.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/bnr/BannerList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/000.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/000.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/010.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/010.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/020.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/020.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/030.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/030.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/040.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/040.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/051.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/051.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/052.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/052.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/053.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/053.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/054.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/054.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/055.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/055.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/056.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/056.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/057.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/057.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/058.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/058.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/059.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/059.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/060.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/060.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/999.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/999.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/ion/pwn/popupList.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/ion/pwn/popupList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovCertificate.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovCertificate.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovIdDplctCnfirm.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovIdDplctCnfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovSelectMber.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovSelectMber.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovSelectMber_old.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovSelectMber_old.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovStplatCnfirm.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovStplatCnfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserConfirm.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserConfirm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserInsert.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserInsert.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserInsertComplete.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserInsertComplete.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserPasswordUpdate.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserPasswordUpdate.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserSecsn.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserSecsn.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserUpdate.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserUpdate.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserUpdateForm.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/EgovUserUpdateForm.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/MailAuth.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/MailAuth.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/front/uss/umt/userUpdateStnum.html (added)
+++ base/src/main/resources/templates/egovframework/front/uss/umt/userUpdateStnum.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cmm/EgovLoginMng.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cmm/EgovLoginMng.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/BoardMstrList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/BoardMstrList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/BoardMstrRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/BoardMstrRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryMasterList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryMasterList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryMasterRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryMasterRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/ctg/CtgryRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/default/CommentList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/default/CommentList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/default/NoticeInqire.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/default/NoticeInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/default/NoticeList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/default/NoticeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/bbs/default/NoticeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/bbs/default/NoticeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/cmy/EgovCmmntyUseInfo.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/cmy/EgovCmmntyUseInfo.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/cmy/EgovCmmntyUseList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/cmy/EgovCmmntyUseList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcHistoryList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcHistoryList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcHistoryView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcHistoryView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcRegister.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsSourcRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateHistoryList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateHistoryList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateHistoryView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateHistoryView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateRegister.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/BbsTemplateRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcHistoryList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcHistoryList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcHistoryView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcHistoryView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcRegister.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytSourcRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateHistoryList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateHistoryList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateHistoryView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateHistoryView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateRegister.html (added)
+++ base/src/main/resources/templates/egovframework/manage/cop/com/LytTemplateRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/ems/ComtnemsInfo.html (added)
+++ base/src/main/resources/templates/egovframework/manage/ems/ComtnemsInfo.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtneventAswperView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtneventAswperView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtneventadhrncExcel.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtneventadhrncExcel.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtneventadhrncMngList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtneventadhrncMngList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/Comtneventformaswper.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/Comtneventformaswper.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtneventprzwnerExcel.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtneventprzwnerExcel.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtneventprzwnerList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtneventprzwnerList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtneventprzwnerUserList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtneventprzwnerUserList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtnschdulEventResult.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtnschdulEventResult.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtnschdulinfoMngList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtnschdulinfoMngList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/evt/ComtnschdulinfoMngRegister.html (added)
+++ base/src/main/resources/templates/egovframework/manage/evt/ComtnschdulinfoMngRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/rnk/MngRankingMileage.html (added)
+++ base/src/main/resources/templates/egovframework/manage/rnk/MngRankingMileage.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sms/ComtnmmsInfo.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sms/ComtnmmsInfo.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sms/ComtnsmsInfo.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sms/ComtnsmsInfo.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sms/ComtnsmsuserList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sms/ComtnsmsuserList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sms/ComtnsmsuserMmsList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sms/ComtnsmsuserMmsList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sts/EgovBbsStats.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sts/EgovBbsStats.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sts/EgovCmyStats.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sts/EgovCmyStats.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sts/EgovEvtStats.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sts/EgovEvtStats.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sts/EgovEvtStatsuser.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sts/EgovEvtStatsuser.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sts/EgovMlgStats.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sts/EgovMlgStats.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sts/EgovScrinStats.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sts/EgovScrinStats.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/cca/CcmCmmnCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/cca/CcmCmmnCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/cca/CcmCmmnCodeModify.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/cca/CcmCmmnCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/cca/CcmCmmnCodeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/cca/CcmCmmnCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnClCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnClCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnClCodeModify.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnClCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnCodeDetail.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/ccc/EgovCcmCmmnCodeDetail.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/cde/CcmCmmnDetailCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/cde/CcmCmmnDetailCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/cde/CcmCmmnDetailCodeModify.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/cde/CcmCmmnDetailCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ccm/cde/CcmCmmnDetailCodeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ccm/cde/CcmCmmnDetailCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/ext/EgovOrgCodeList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/ext/EgovOrgCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmHistoryList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmHistoryList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmHistoryView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmHistoryView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmPreview.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmPreview.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/mpm/MpmRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/sit/SiteInfoRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/sit/SiteInfoRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/sit/SiteListCommon.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/sit/SiteListCommon.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/sit/SiteListInqire.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/sit/SiteListInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/sym/sit/SitePolicy.html (added)
+++ base/src/main/resources/templates/egovframework/manage/sym/sit/SitePolicy.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/template/bottom.html (added)
+++ base/src/main/resources/templates/egovframework/manage/template/bottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/template/popBottom.html (added)
+++ base/src/main/resources/templates/egovframework/manage/template/popBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/template/popTop.html (added)
+++ base/src/main/resources/templates/egovframework/manage/template/popTop.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/template/top.html (added)
+++ base/src/main/resources/templates/egovframework/manage/template/top.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/MberExcelUpload.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/MberExcelUpload.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/MemberIndt.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/MemberIndt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/MemberList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/MemberList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/MemberListExcel.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/MemberListExcel.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/MemberUpdt.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/MemberUpdt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/MemberView.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/MemberView.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/usr/SendPassword.html (added)
+++ base/src/main/resources/templates/egovframework/manage/usr/SendPassword.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/bnr/BannerList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/bnr/BannerList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/bnr/BannerRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/bnr/BannerRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlgUserlogList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlgUserlogList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlgUserlogRegister.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlgUserlogRegister.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlginfoList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlginfoList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlginfoRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlginfoRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlginfoUpdt.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/mlg/EgovMlginfoUpdt.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/pwm/PopupList.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/pwm/PopupList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/pwm/PopupRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/pwm/PopupRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/sit/SiteInfoRegist.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/sit/SiteInfoRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/manage/uss/ion/sit/SiteListInqire.html (added)
+++ base/src/main/resources/templates/egovframework/manage/uss/ion/sit/SiteListInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/CommentList.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/CommentList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/NoticeInqire.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/NoticeInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/NoticeList.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/NoticeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/NoticeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/BBSTMP_0000000000001/NoticeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/CommentList.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/CommentList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/NoticeInqire.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/NoticeInqire.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/NoticeList.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/NoticeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/NoticeRegist.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/bbs/sourc/BBSSRC_0000000000001/NoticeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sit/LTYTMP_0000000000001/tmplatBottom.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sit/LTYTMP_0000000000001/tmplatBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sit/LTYTMP_0000000000001/tmplatHead.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sit/LTYTMP_0000000000001/tmplatHead.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcBottom.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcBottom_MBL.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcBottom_MBL.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcHead.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcHead.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcHead_MBL.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/cmy/LYTSRC_0000000000003/sourcHead_MBL.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/sit/LYTSRC_0000000000001/sourcBottom.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/sit/LYTSRC_0000000000001/sourcBottom.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/sit/LYTSRC_0000000000001/sourcHead.html (added)
+++ base/src/main/resources/templates/egovframework/str/cre/lyt/sourc/sit/LYTSRC_0000000000001/sourcHead.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/.jsp.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/.jsp.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/MNU_0000000000000001.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/MNU_0000000000000001.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/cpyrhtSttemntSvc.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/cpyrhtSttemntSvc.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/emailColctPolicy.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/emailColctPolicy.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/index.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/index.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/index_MBL.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/index_MBL.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/indvdlInfoPolicy.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/indvdlInfoPolicy.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/marktPolicy.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/marktPolicy.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/terms.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/terms.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/useStplat.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/SITE_000000000000001/useStplat.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/index.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/index.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/egovframework/str/mnu/index_MBL.html (added)
+++ base/src/main/resources/templates/egovframework/str/mnu/index_MBL.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/index.html (added)
+++ base/src/main/resources/templates/index.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeDetail.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeDetail.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeList.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeModify.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeRegist.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/CcmCmmnClCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/CcmCmmnDetailCodeDetail.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/CcmCmmnDetailCodeDetail.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeDetail.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeDetail.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeList.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeModify.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeRegist.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cca/CcmCmmnCodeRegist.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeList.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeList.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeModify.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeModify.html
This diff is skipped because there are too many other diffs.
 
base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeRegist.html (added)
+++ base/src/main/resources/templates/manage/sym/ccm/cde/CcmCmmnDetailCodeRegist.html
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeModify.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeModify.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeModify.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeModify.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeModify.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeModify.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnCodeDetail.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnCodeDetail.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/ccc/EgovCcmCmmnCodeDetail.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/cmm/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/front/cop/com/selectAllBBSMasterManageInfs.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/front/cop/com/selectAllBBSMasterManageInfs.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/front/cop/com/selectAllBBSMasterManageInfs.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/front/evt/ComtnschdulEventResult.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/front/evt/ComtnschdulEventResult.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/front/evt/ComtnschdulEventResult.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/BoardMstrList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/BoardMstrList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/BoardMstrList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/BoardMstrRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/BoardMstrRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/BoardMstrRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryMasterList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryMasterList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryMasterList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryMasterRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryMasterRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryMasterRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/ctg/CtgryRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/CommentList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/CommentList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/CommentList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeInqire.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeInqire.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeInqire.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/bbs/default/NoticeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/cmy/EgovCmmntyUseInfo.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/cmy/EgovCmmntyUseInfo.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/cmy/EgovCmmntyUseInfo.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/cmy/EgovCmmntyUseList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/cmy/EgovCmmntyUseList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/cmy/EgovCmmntyUseList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcHistoryList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcHistoryList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcHistoryList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcHistoryView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcHistoryView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcHistoryView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcRegister.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcRegister.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsSourcRegister.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateHistoryList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateHistoryList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateHistoryList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateHistoryView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateHistoryView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateHistoryView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateRegister.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateRegister.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/BbsTemplateRegister.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcHistoryList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcHistoryList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcHistoryList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcHistoryView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcHistoryView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcHistoryView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcRegister.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcRegister.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytSourcRegister.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateHistoryList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateHistoryList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateHistoryList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateHistoryView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateHistoryView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateHistoryView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateRegister.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateRegister.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/cop/com/LytTemplateRegister.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/ems/ComtnemsInfo.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/ems/ComtnemsInfo.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/ems/ComtnemsInfo.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventAswperView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventAswperView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventAswperView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventadhrncMngList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventadhrncMngList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventadhrncMngList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventprzwnerList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventprzwnerList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventprzwnerList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventprzwnerUserList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventprzwnerUserList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtneventprzwnerUserList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtnschdulinfoMngList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtnschdulinfoMngList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtnschdulinfoMngList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtnschdulinfoMngRegister.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtnschdulinfoMngRegister.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/evt/ComtnschdulinfoMngRegister.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/rnk/MngRankingMileage.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/rnk/MngRankingMileage.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/rnk/MngRankingMileage.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnmmsInfo.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnmmsInfo.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnmmsInfo.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsInfo.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsInfo.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsInfo.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsuserList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsuserList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsuserList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsuserMmsList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsuserMmsList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sms/ComtnsmsuserMmsList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovBbsStats.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovBbsStats.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovBbsStats.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovCmyStats.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovCmyStats.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovCmyStats.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovEvtStats.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovEvtStats.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovEvtStats.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovEvtStatsuser.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovEvtStatsuser.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovEvtStatsuser.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovMlgStats.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovMlgStats.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovMlgStats.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovScrinStats.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovScrinStats.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sts/EgovScrinStats.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeModify.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeModify.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeModify.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cca/CcmCmmnCodeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeModify.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeModify.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeModify.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnCodeDetail.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnCodeDetail.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/ccc/EgovCcmCmmnCodeDetail.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeModify.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeModify.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeModify.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ccm/cde/CcmCmmnDetailCodeRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ext/EgovOrgCodeList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ext/EgovOrgCodeList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/ext/EgovOrgCodeList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmHistoryList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmHistoryList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmHistoryList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmHistoryView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmHistoryView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmHistoryView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/mpm/MpmRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteInfoRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteInfoRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteInfoRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteListCommon.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteListCommon.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteListCommon.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteListInqire.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteListInqire.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SiteListInqire.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SitePolicy.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SitePolicy.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/sym/sit/SitePolicy.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/template/top.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/template/top.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/template/top.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MberExcelUpload.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MberExcelUpload.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MberExcelUpload.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberIndt.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberIndt.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberIndt.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberUpdt.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberUpdt.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberUpdt.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberView.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberView.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/usr/MemberView.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/bnr/BannerList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/bnr/BannerList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/bnr/BannerList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/bnr/BannerRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/bnr/BannerRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/bnr/BannerRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlgUserlogList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlgUserlogList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlgUserlogList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlgUserlogRegister.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlgUserlogRegister.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlgUserlogRegister.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoUpdt.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoUpdt.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/mlg/EgovMlginfoUpdt.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/pwm/PopupList.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/pwm/PopupList.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/pwm/PopupList.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/pwm/PopupRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/pwm/PopupRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/pwm/PopupRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/sit/SiteInfoRegist.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/sit/SiteInfoRegist.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/sit/SiteInfoRegist.jsp
This diff is skipped because there are too many other diffs.
base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/sit/SiteListInqire.jsp
--- base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/sit/SiteListInqire.jsp
+++ base/src/main/webapp/WEB-INF/jsp/egovframework/mng/uss/ion/sit/SiteListInqire.jsp
This diff is skipped because there are too many other diffs.
 
base/src/test/java/com/foxedu/basecms/BaseCmsJpaTest.java (added)
+++ base/src/test/java/com/foxedu/basecms/BaseCmsJpaTest.java
This diff is skipped because there are too many other diffs.
 
base/src/test/resources/application-test.yml (added)
+++ base/src/test/resources/application-test.yml
This diff is skipped because there are too many other diffs.
Add a comment
List