====== 경량환경 템플릿 구성 및 환경설정(configration) ======
아래 설정 사항들은 엔터프라이즈 및 포털 사이트에 관련된 내용들이다.\\
1. 템플릿 소스의 웹환경 관련 설정은 아래 3곳의 위치에 정의되어 사용된다.
- web.xml
- classpath*:egovframework/spring/com/context-*.xml
- /WEB-INF/config/egovframework/springmvc/*.xml
2. 템플릿 소스의 DB관련 설정은 globlas.properties에 정의되어 사용된다.
심플 홈페이지는 아래 github 안내 페이지를 참고하도록 한다.\\
[[https://github.com/eGovFramework/egovframe-template-simple-backend/blob/main/README.md|심플홈페이지 BackEnd]]\\
[[https://github.com/eGovFramework/egovframe-template-simple-react/blob/main/README.md|심플홈페이지 FrontEnd]]\\
===== web.xml 주요 설정 =====
* *.do로 호출되는 경우 기본 화면에 출력되는 encoding은 utf-8로 필터링 되도록 설정하여 특수문자에 의한 크로스사이트 스크립트를 방지한다. HTMLTagFilter를 설정하면 파라미터로 전달되는 값 자체를 변환하는 방식의 사용도 가능하다. 템플릿 소스에서는 화면을 통해 입력하는 값을 변환하지 않고 출력하는 시점에 encoding처리하는 방식을 기본으로 사용한다.
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
*.do
* spring context관련 환경설정정보 파일 위치를 등록한다.
contextConfigLocation
classpath*:egovframework/spring/com/context-*.xml
* spring mvc를 위한 Listener, DispatcherServlet설정과 mvc관련 관련 추가 환경설정정보 파일위치를 등록한다.
org.springframework.web.context.ContextLoaderListener
action
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/config/egovframework/springmvc/*.xml
1
action
*.do
* spring security 를 사용하는 경우 포함되는 설정(내부업무, 포털사이트 템플릿만 포함됨)
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
org.springframework.security.web.session.HttpSessionEventPublisher
===== egovframework/spring/com/context-*.xml 주요 설정 =====
추가 설정 파일들은 템플릿 프로젝트 소스의 각 resource/egovframework/spring/com/폴더 아래에 위치한다.
anontation, aop, schedule, validation, security, id-generation, mapper, transaction 관련 설정정보가 등록된다.(템플릿 종류별로 차이 있음)
* context-aspect.xml의 ExceptionTransfer 설정(템플릿 서비스 임플 클래스에서 발생하는 경우는 Exception에 대한 개별 로그를 출력)
...
* context-common.xml의 egovMessageSource 설정(프로퍼티 파일에 등록된 메시지 활용), leavaTrace 설정(Exception 발생 시 개별 Trace 출력)
...
...
* context-datasource.xml의 datasource 설정
classpath:/egovframework/egovProps/globals.properties
...
* context-idgen.xml의 업무 별 일련번호 생성 서비스 설정
...
* context-properties.xml의 프로퍼티 값 설정
* context-mapper.xml의 프로퍼티 값 설정
classpath:/egovframework/mapper/let/**/*_${Globals.DbType}.xml
...
@Repository("BBSAttributeManageDAO")
public class BBSAttributeManageDAO extends EgovAbstractMapper {
...
* context-transaction.xml의 트랜잭션 설정
* context-validator.xml의 Vaildator설정
classpath:/egovframework/validator/validator-rules-let.xml
classpath:/egovframework/validator/let/**/*.xml
* context-security.xml의 스프링 시큐리티 설정 (내부업무 템플릿, 포털사이트 템플릿 해당)
* 실행환경의 [[eGovframework:RTE4.0:FDL:server_security:XmlSchema|시큐리티 간소화]] 부분을 참고하세요.
* context-excel.xml의 excel파일 컨트롤 설정(내부업무 템플릿 해당)
* context-scheduling-sym-log-lgm.xml의 일 단위 접속통계 스케쥴링 설정(내부업무 템플릿 해당)
* context-syslogaop.xml의 aop를 사용한 로그 기록 설정(내부업무 템플릿 해당)
===== /WEB-INF/config/egovframework/springmvc/*.xml =====
추가설정파일들은 템플릿 프로젝트 소스의 각 WEB-INF/config/egovframework/springmvc 폴더 아래에 위치한다.
exception, view, error-page 관련 설정 정보가 등록된다.
* auto detect를 위한 mvc 설정
* exception 발생시 이동할 오류페이지 설정
cmm/error/dataAccessFailure
cmm/error/transactionFailure
cmm/error/egovError
cmm/error/accessDenied
* 화면처리용 JSP 파일명의 prefix, suffix 처리에 대한 설정
* 로그인이 필요한 URL을 체크하는 필터설정(홈페이지 템플릿만 사용하고 다른 템플릿은 시큐리티 권한 적용)
/cop/com/*.do
/cop/bbs/*Master*.do
/uat/uia/*.do
/uat/uia/actionLogin.do
/uat/uia/egovLoginUsr.do
===== datasource관련 설정 =====
* globals.properties 주요 설정정보(datasource.xml의 설정 정보로 적용)
databse 종류, databse dirver, databse 계정/암호 등을 설정한다.
템플릿 3종 모두 동일하게 적용되는데 홈페이지의 경우는 Hsql DB를 사용할 수 있는 설정이 추가로 포함되어 있다.
# DB서버 타입(mysql,oracle,altibase,tibero) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mysql
# DB 사용자 계정
Globals.UserName=ebt
# DB 사용자 암호
Globals.Password=ebt01
# driver 정보l
Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
# DB 연결 정보
Globals.Url=jdbc:log4jdbc:mysql://127.0.0.1:3306/ebt