====== 경량환경 템플릿 구성 및 환경설정(configration) ====== 1. 템플릿 소스의 웹환경 관련 설정은 아래 3곳의 위치에 정의되어 사용된다. - web.xml - classpath*:egovframework/spring/com/context-*.xml - /WEB-INF/config/egovframework/springmvc/*.xml 2. 템플릿 소스의 DB관련 설정은 globlas.properties에 정의되어 사용된다. ===== web.xml 주요 설정 ===== * *.do로 호출되는 경우 기본 화면에 출력되는 encoding은 utf-8로 필터링 되도록 설정하여 특수문자에 의한 크로스사이트 스크립트를 방지한다. HTMLTagFilter를 설정하면 파라미터로 전달되는 값 자체를 변환하는 방식의 사용도 가능하다. 템플릿 소스에서는 화면을 통해 입력하는 값을 변환하지 않고 출력하는 시점에 encoding처리하는 방식을 기본으로 사용한다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 HTMLTagFilter egovframework.rte.ptl.mvc.filter.HTMLTagFilter 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.ui.session.HttpSessionEventPublisher ===== egovframework/spring/com/context-*.xml 주요 설정 ===== 추가 설정파일들은 템플릿 프로젝트 소스의 각 resource/egovframework/spring/com/폴더 아래에 위치한다. anontation, aop, schedule, validation, security, id-generation, sqlmap, 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-sqlMap.xml의 프로퍼티 값 설정 classpath:/egovframework/sqlmap/config/${Globals.DbType}/*.xml ... @Repository("BBSAttributeManageDAO") public class BBSAttributeManageDAO extends EgovAbstractDAO { ... * context-transaction.xml의 트랜잭션 설정 * context-validator.xml의 Vaildator설정 classpath:/egovframework/validator/validator-rules-let.xml classpath:/egovframework/validator/let/**/*.xml * context-security.xml의 스프링 시큐리티 설정 (내부업무 템플릿, 포탈사이트 템플릿 해당) * context-excel.xml의 excel파일 컨트롤 설정(내부업무 템플릿 해당) * context-scheduling.xml의 일단위 접속통계 스케쥴링 설정(내부업무 템플릿 해당) * context-syslogaop.xml의 aop를 사용한 로그 기록 설정(내부업무 템플릿 해당) ===== /WEB-INF/config/egovframework/springmvc/*.xml ===== 추가설정파일들은 템플릿 프로젝트 소스의 각 WEB-INF/config/egovframework/springmvc 폴더 아래에 위치한다. exception, view, error-page 관련 설정 정보가 등록된다. * auto detect를 위한 mvc 설정 * anotation request mapping과 commandmap형태의 argument를 전달을 위한 설정 * 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=sht # DB 사용자 암호 Globals.Password=sht01 # driver 정보l Globals.DriverClassName=net.sf.log4jdbc.DriverSpy # DB 연결 정보 Globals.Url=jdbc:mysql://126.0.0.1:3306/SHT