MyBatis 적용 가이드

개요

전자정부 표준프레임워크 기반 MyBatis 적용 가이드이다.

ex-dataaccess-mybatis.zip

Step 1. pom.xml 변경

표준프레임워크 dataaccess artifact version을 다음과 같이 2.7.0으로 변경한다.

<!-- 실행환경 라이브러리 --> <dependency> <groupId>egovframework.rte</groupId> <artifactId>egovframework.rte.psl.dataaccess</artifactId> <version>2.7.0</version> </dependency>

Step 2. 환경 설정

Step 2.1 XML 설정

Spring XML 설정 파일 상(ex: context-mapper.xml)에 다음과 같은 sqlSession bean 추가한다.

Ex) context-mapper.xml

<!-- SqlSession setup for MyBatis Database Layer --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath:/sqlmap/mappers/**/*.xml" /> </bean>

Step 2.2 mapper xml 작성

MyBatis 가이드에 따라 query xml 작성한다. (2.1의 예제 상 지정된 mapperLocations 위치)

Step 3. DAO 작성

DAO의 경우는 다음과 같이 3가지 방식이 가능하다.

방식설명비고

기존 DAO 클래스 방식 @Repository 지정 및 EgovAbstractMapper extends 활용 기존 iBatis와 같은 방식
Mapper interface 방식 Mapper 인터페이스 작성 및 @Mapper annotation 지정 @Mapper는 marker annotation(표준프레임워크 제공)
Annotation 방식 query xml 없이 mapper 인터페이스 상 @Select, @Insert 등을 활용 Dynamic SQL 등의 사용에 제약이 있음

3.1 기존 DAO 형태로 사용하는 경우

@Repository 지정된 class가 EgovAbstractMapper를 extends 하여 insert, update, delete, selectByPk, list 메소드를 활용한다.

@Repository("deptMapper") public class DeptMapper extends EgovAbstractMapper {   public void insertDept(String queryId, DeptVO vo) { insert(queryId, vo); }   public int updateDept(String queryId, DeptVO vo) { return update(queryId, vo); }   public int deleteDept(String queryId, DeptVO vo) { return delete(queryId, vo); }   public DeptVO selectDept(String queryId, DeptVO vo) { return (DeptVO)selectByPk(queryId, vo); }   @SuppressWarnings("unchecked") public List<DeptVO> selectDeptList(String queryId, DeptVO searchVO) { return list(queryId, searchVO); } }

3.2 Mapper interface 사용 방식

Mapper 인터페이스 작성 시 다음과 같이 @Mapper annotation 사용한다.

(패키지를 포함하는 클래스명 부분이 mapper xml 상의 namespace가 선택되고 인터페이스 메소드가 query id로 호출되는 방식)

@Mapper("employerMapper") public interface EmployerMapper {   public List<EmpVO> selectEmployerList(EmpVO vo);   public EmpVO selectEmployer(BigDecimal empNo);   public void insertEmployer(EmpVO vo);   public int updateEmployer(EmpVO vo);   public int deleteEmployer(BigDecimal empNo);   }

이 경우는 xml 설정 상에 다음과 같은 MapperConfigurer 설정이 필요하다.

Ex: context-mapper.xml

<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer"> <property name="basePackage" value="egovframework.rte.**.mapper" /> </bean>

basePackage에 지정된 패키지 안에서 @Mapper annotation을 스캔하는 설정이다.

⇒ @Mapper로 지정된 인터페이스를 @Service에서 injection 하여 사용함

public class EmployerMapperTest {   @Resource(name = "employerMapper") EmployerMapper employerMapper;   @Test public void testInsert() throws Exception { EmpVO vo = makeVO();   // insert employerMapper.insertEmployer(vo);   // select EmpVO resultVO = employerMapper.selectEmployer(vo.getEmpNo());   // check checkResult(vo, resultVO); }

3.3 Annotation 사용 방식

mapper xml 작성 없이 Mapper 인터페이스 상에 @Select, @Insert, @Update, @Delete 등의 annotation을 통해 query가 지정되어 사용된다.

@Mapper("departmentMapper") public interface DepartmentMapper {   @Select("select DEPT_NO as deptNo, DEPT_NAME as deptName, LOC as loc from DEPT where DEPT_NO = #{deptNo}") public DeptVO selectDepartment(BigDecimal deptNo);   @Insert("insert into DEPT(DEPT_NO, DEPT_NAME, LOC) values (#{deptNo}, #{deptName}, #{loc})") public void insertDepartment(DeptVO vo);   @Update("update DEPT set DEPT_NAME = #{deptName}, LOC = #{loc} WHERE DEPT_NO = #{deptNo}") public int updateDepartment(DeptVO vo);   @Delete("delete from DEPT WHERE DEPT_NO = #{deptNo}") public int deleteDepartment(BigDecimal deptNo);   }

⇒ 이 경우는 별도의 mapper xml을 만들 필요는 없지만, dynamic query를 사용하지 못하는 등의 제약사항이 따름

개요

본 가이드는 전자정부 표준프레임워크에서 제공하는 개발자 개발환경의 사용 방법을 제공한다.

Step 1. 개발환경 설치

개발자 개발환경 다운로드

  1. 인터넷 웹브라우저를 통해 eGovFrame 홈페이지(http://www.egovframe.go.kr/, http://www.egovframe.kr/)에 접속하여 로그인하고 사이트 상위메뉴를 통해 “다운로드>개발환경”으로 이동한다.

\\ \\ - 환경에 따라 다운받을 개발환경을 선택한다. \\ - 32bit/64bit Version \\ \\ - 첨부된 파일을 다운로드받아 압축을 해제한다. \\ \\

개발자 개발환경 실행

  1. eclipse를 실행한다.



    ✔ Fail to create Java Virtual Machine 오류가 발생할 경우 eclipse가 설치된 디렉토리의 eclipse.ini 파일에 JVM 경로를 지정해 주도록 한다.
    개발자 개발환경을 사용하기 위해서는 해당 이클립스의 자바 버전을 설치되어야 한다.
    또한, -Dfile.encoding=UTF-8 설정을 통하여 파일 인코딩을 UTF-8로 적용이 가능하다.
    이클립스 버전별 지원 자바 버전은 환경 설정에서 확인 가능하다.



  2. eclipse를 실행 후 Workspace Launcher 팝업이 나타나면 전자정부 개발환경에서 제공하는 workspace를 선택한다.

     

✔ 전자정부 표준프레임워크에서는 eclipse에 eGovFrame 관련 설정정보를 세팅하여 배포한다.
따라서 C:\eGovFrameDev-3.x.x-xxbit\workspace와 같이 eGovFrame 개발환경에서 기본적으로 제공해주는 workspace를 선택하는 것을 권장한다.

퍼스펙티브(Perspective) 전환

  1. eclipse가 정상적으로 실행되면 우측 상단의 Perspective가 eGovFrame으로 되어있는지 확인한다.

✔ 만약 Perspective가 eGovFrame이 아닐 경우 다음의 절차를 따른다.

  • Perspective 좌측에 있는 아이콘을 클릭하여 “Other… > Open Perspective > eGovFrame”을 선택한다.

     



Step 2. 프로젝트 생성 및 실행

프로젝트 생성

  1. 메뉴 표시줄에서 File > New > eGovFrame Web Project를 선택한다.
    또는, Ctrl+N 단축키를 이용하여 새로작성 마법사를 실행한 후 eGovFrame > eGovFrame Web Project을 선택하고 Next를 클릭한다.



  2. 프로젝트 명과 Maven 설정에 필요한 값들을 입력하고 Next를 클릭한다.



  3. 예제 소스 파일 생성 여부를 체크하고 Finish를 클릭한다.



서버 설치

  • Tomcat 서버를 설치해 보도록 한다.

  1. eclipse 하단의 Servers 탭을 클릭하고, 마우스 우클릭하여 “New > Server”를 선택한다.



  2. Apache > Tomcat v7.0 Server를 선택 후 Next를 클릭하고 Download and Install 버튼을 클릭하여 서버 설치를 완료한다.

✔ 개발환경 3.7의 경우 Tomcat 8.0 이상을 권장한다.

 



프로젝트 실행

  1. 실행할 프로젝트를 마우스 우클릭하고 “Run As > Run on Server”를 선택한다.



  2. Choose an existing server를 선택하고 서버 설치에서 설치한 서버를 선택 후 Next 버튼을 클릭하고 실행할 프로젝트를 Add한다.

     

     

  3. 다음과 같은 화면이 실행되는지 확인한다.

     

✔ 프로젝트 생성 후 “Could not open JDBC Connection for transaction” 메시지가 나타날 경우 HSQLDB 설정 가이드를 참고하여 HSQLDB를 연결한다.

기타 설정

DB 정보 변경

  • 전자정부에서는 MySql, Oracle, Altibase, Tibero를 지원한다. 본 가이드에서는 MySql로 DB 정보를 변경하는 예제를 실습해 보도록 한다.

  1. DB 정보를 변경할 프로젝트의 sql-map-config.xml 파일을 다음과 같이 수정한다.

     

  2. context-datasource.xml 파일을 다음과 같이 수정하고 사용할 DB 정보를 입력한다.

     

  3. pom.xml 파일에 다음과 같은 dependency를 version 8.0.11추가한다.

     

  4. 프로젝트 마우스 우클릭 후 “Run As > Maven install”을 선택한다.

     

Data Source Explorer 연결

Data Source Explorer연결 가이드를 참고한다.

다국어 지원 방안

✔ 개발자 개발환경의 영문 버전을 사용할 경우 eclipse 설치 디렉토리에 있는 eclipse.ini 파일을 다음과 같이 수정한다.
-Duser.language=en
-Duser.country=US

✔ 개발자 개발환경의 국문 버전을 사용할 경우 eclipse 설치 디렉토리에 있는 eclipse.ini 파일을 동일한 방법으로 수정한다.
-Duser.language=ko
-Duser.country=KR

성능 향상 방안

✔ 다음과 같은 설졍을 통해 구현도구(eclipse)의 성능 및 속도를 높일 수 있다. 아래 설정은 필수 적용사항이 아니므로, 필요한 경우 참고자료로 활용한다.

1. eclipse theme 기능 변경

  1. Window » Preferences » General » Appearance » Theme를 Classic으로 변경.

  2. Use mixed fonts and colors for labels 체크를 해지

  3. Apply 후 eclipse 재실행.

2. eclipse.ini 파일 수정

필요에 따라 아래의 설정정보를 수정할 수 있다.
메모리 설정의 경우, 각 컴퓨터의 메모리 용량에 따라 설정하여야한다. (1~2G : 256m, 2~3G, 512m, 4G~ : 1024m 권장)

  1. Xverify:none
    클래스 검사 생략. eclipse 실행 시간 단축

  2. Xms256m
    eclipse 실행시 잡는 최소 메모리

  3. Xmx1024m
    eclipse 실행시 잡는 최대 메모리

 

jQuery 메서드

jQuery 메서드를 이전 1편에 이어 정리하고자 합니다.
사용 용도에 따라 분류하였습니다.
맑은커뮤니케이션 웹퍼블리셔 및 웹퍼블리싱 업무중 스크립트를 작성하다 갑자기 메서드가 기억나지 않는 분들에 참고가 되었으면 합니다.

스타일 메서드

분류핵심 내용핵심 프로퍼티 및 메서드

스타일
다루기
스타일 값 구하기 $대상.css("스타일 속성 이름")
$대상.css(["스타일 속성 이름", ...])
스타일 값 설정하기 $대상.css("스타일 속성 이름",값)
$대상.css({스타일 속성 이름:값, ...})
클래스 추가 $대상.addClass("클래스 이름")
클래스 삭제 $대상.removeClass("클래스 이름")

속성 메서드

분류핵심 내용핵심 프로퍼티 및 메서드

속성
다루기
속성값 구하기 $대상.attr("속성이름")
$대상.data("data-속성이름")
속성값 설정하기 $대상.attr("속성이름","값")
$대상.data("data-속성이름","값")

이벤트 메서드

분류핵심 내용핵심 프로퍼티 및 메서드

이벤트
다루기
일반 이벤트 등록 $대상.on("이벤트 이름", 이벤트리스너)
단축 이벤트 등록 $대상.단축 이벤트(이벤트리스너)
등록한 이벤트 제거 $대상.off("click", 삭제하고 싶은 이벤트 리스너 명)
$대상.off("click")
$대상.off()
이벤트 한 번만 실행 $대상.one("이벤트 이름", 이벤트리스너)
기본 행동 취소 이벤트 객체.preventDefault()
버블링 멈추기 이벤트 객체.stopPropagation()
버블링 활용:하나의 이벤트 $대상.on("이벤트 이름", "선택자", 이벤트 리스너)

위치 및 크기 메서드

분류핵심 내용핵심 프로퍼티 및 메서드

요소의 위치 및
크기 관련 기능
부모 좌표 노드 구하기 $대상.offsetParent()
지역 좌표 위치 다루기 지역 좌표 위치 구하기
$대상.position().left
$대상.position().top

지역 좌표 위치 설정하기
$대상.css("left",위치값)
$대상.css("top",위치값)
또는
$대상.css({left:위치값,top:위치값})
전역 좌표 위치 다루기 전역 좌표 위치 구하기
$대상.offset().left
$대상.offset().top

전역 표표위치 설정하기
$대상.offset({left:위치값,top:위치값})
요소 크기 다루기 기본 크기 구하기
$대상.width()
$대상.height()

기본 크기+padding 크기 구하기
$대상.innerWidth()
$대상.innerHeight()

기본 크기+padding+border 크기 구하기
$대상.outerWidth()
$대상.outerHeight()

기본 크기+padding+border+margin 크기 구하기
$대상.outerWidth(true)
$대상.outerHeight(true)

기본 크기 설정하기
$대상.width(크기값)
$대상.height(크기값)

기본 크기+padding 크기 설정하기
$대상.innerWidth(크기값)
$대상.innerHeight(크기값)
요소의 위치 및
크기 관련 기능
요소의 스크롤 위치 다루기 스크롤 위치 구하기
$대상.scrollLeft()
$대상.scrollTop()

스크롤 위치 설정하기
$대상.scrollLeft(위치값)
$대상.scrollTop(위치값)
문서의 위치 및
크기 관련 기능
문서 크기 구하기 $(document).width()
$(document).height()
화면의 위치 및
크기 관련 기능
윈도우의 위치
및 크기 관련
기능
전체 화면 크기 구하기 screen.width
screen.height
유효한 전체 화면 크기 구하기 screen.availWidth
screnn.availHeight
윈도우 크기 구하기 기본 크기 구하기
window.innerWidth
window.innerHeight

기본 크기+메뉴바+툴바 영역이 포함된 크기 구하기
$(window).width()
$(window).height()

기본 크기+메뉴바+툴바+스크롤바 영역이 포함된 크기 구하기
window.outerWidth
window.outerHeight
윈도우 크기 설정하기 window.resizeTo(width,height)
윈도우 변경 이벤트 처리 $(window).on("resize", function(){})
윈도우 위치 다루기 위치 값 구하기
window.screenLeft
window.screenTop

위치 값 설정하기
window.moveTo(dx,dy)
window.moveBy(dx,dy)
윈도우 스크롤 다루기 스크롤 위치 값 구하기
window.pageXOffset
window.pageYOffset

스크롤 위치 설정하기
window.scrollTo(x,y)
window.scrollBy(x,y)

스크롤 이벤트 처리하기
$(window).on("scroll",function(){})
마우스의
위치 및 크기
관련 기능
클릭한 전역 위치 윈도우 영역을 기준으로 하는 전역 위치
mouseEvent.clientX
mouseEvent.clientY

문서 영역을 기준으로 하는 전역 위치
mouseEvent.pageX
mouseEvent.pageX
클릭한 지역 위치 var offsetX = mouseEvent.pageX - $(타깃).offset().left
var offsetY = mouseEvent.pageY - $(타깃).offset().top

애니메이션 효과 메서드

분류핵심 내용핵심 프로퍼티 및 메서드

일반
효과
다루기
나타나고 사라지는 효과 나타나기
$대상.show()

사라지기
$대상.hide()
페이드 인/아웃 효과 페이드 인
$대상.fadeIn()

페이드 아웃
$대상.fadeOut()
슬라이드 업/다운 효과 슬라이드 업
$대상.slideUp()

슬라이드 다운
$대상.slideDown()
사용자
정의
효과
다루기
사용자 정의 애니메이션 효과 만들기 $대상.animate({스타일 속성 이름:속성값, ...},애니메이션 시간)
애니메이션 효과 멈추기 $대상.stop()

참조 - (메소드 정리표)

자바스크립트 + jQuery 완전정복 스터디(김춘경 지음)

jQuery 쓰는것이 좋은 것인가?

요즈음 웹퍼블리싱을 배우는 학생들의 이야기드를 들어보면, jQuery를 안쓰게 좋을것 같다고 또는 안쓰게 될 것 같다고 이야기 합니다.
그럼 Why? 라는 질문을 하면, 이유를 대답하지 못합니다.
개념조차 이해하지 못하고, 어디서 들은것 같다고만 이야기 하기 때문입니다.
물론 모든 학생이 모두 그렇게 이야기 하는것은 아닙니다.
그럼 저는 왜 jQuery를 써야 하는지 설명해 줍니다.

jQuery 사용하는 첫번째 이유

jQuery는 자바스크립트 DOM을 좀더 쉽게 작업하기 위한 라이브러리 입니다.
결론부터 말하자면 jQuery의 정체는 자바스크립트 문법 중 프로토타입 방식으로 만들어진 클래스입니다.
쉽게 이야기해 jQuery 메서드는 자바스크립트 DOM으로 이루어져 있습니다.
그렇기에 jQuery를 배운다는것은 메서드를 배우는 것이며, 이를 통해 자바스크립트로 코딩하면 10줄, jQuery로 코딩하면 2-3줄로 처리 할수 있을 만큼 효율적인
코드작업을 할 수 있습니다.
그렇다고 jQuery로 모든것을 다 할 수 있는것도 아니며 무조건 좋다는 말은 아닙니다.
제일 좋은 방법은 jQuery와 자바스크립트를 같이 사용하여 최적화 하는방법이 좋다고 말씀드리고 싶습니다.
jQuery는 쉬운데 자바스크립트는 어렵다고 하는 분들은 자바스크립트도 충실히 공부하셔야 합니다.

jQuery 사용하는 두번째 이유

jQuery는 DOM 제어보다 크로스 브라우징 처리가 편리합니다.
IE7은 비표준 브라우저이기 때문에 이벤트 등록시 자바스크립트로 처리할 경우 attachEvent(), addEventListener()를 사용하여 코드를 작성하여야,
IE7과 기타 브라우저의 크로스브라우징을 정상적으로 처리해야 합니다.
이와달리 jQuery 내부에는 이런 번거로운 작업들을 대신 처리해주기 때문에 이벤트를 아주 쉽게 처리할 수 있습니다.

jQuery 학습 방법 및 결론

자바스크립트의 경우 기본 문법을 모를 경우 공부하기가 힘듭니다.
그러나 jQuery의 경우 수많은 메서드로 구성되어 있기에 순서없이 메서드를 하나씩 학습하시면 됩니다.
굳이 공부하는 순서를 따져야 한다면, jQuery는 css와 연관성이 많기에 css를 기본적으로 이해하셔야 하며, 노드를 찾아가는 방법(체인기능) 메서드부터 진행하면 될 것 같습니다.
이것은 웹퍼블리싱을 전문적으로 하는 (주)맑은커뮤니케이션에서 진행하는 신입 퍼블리셔 교육방법 입니다.
아래는 jQuery 메서드 정리입니다. 메서드 정리는 사용 용도에 따라 1, 2부로 나누어 올릴 것 입다다

노드 메서드

노드를 선택하거나, 찾아가는 방법(체인기능)의 메서드 입니다.

분류핵심 내용핵심 프로퍼티 및 메서드

일반 노드
찾기
아이디 이름으로 노드 찾기 $("아이디 이름")
태그 이름으로 노드 찾기 $("태그 이름")
클래스 이름으로 노드 찾기 $("클래스 이름")
속성으로 노드 찾기 $("[속성이름=값]")
찾은 노드
다루기
찾은 개수 구하기 $대상.length
n번째 노드 접근하기 $대상.eq(index)
자바스크립트 DOM 객체 접근하기 $대상.get(index)
$대상[index]
순차적으로 노드 접근하기 $대상.each(function(index){ $(this) 또는 $대상.eq(index); });
찾은 노드 중에서 특정 노드만 찾기 $대상.filter("선택자")
찾은 노드의 자손 노드 중 특정 노드만 찾기 $대상.find("선택자")

인덱스 값 구하기

$대상.index()
$목록.index($대상)
$목록.index(대상 DOM 객체)
자식 노드
찾기
모든 자식 노드 찾기 $대상.children()
특정 자식 노드만 찾기 $대상.children("선택자")
첫 번째 자식 노드 찾기 $대상.children().first()
$대상.children(":first")
$대상.children().eq(0)
$대상.children("eq(0)")
마지막 번째 자식 노드 찾기 $대상.children().last()
$대상.children(":last")
$대상.children().eq($대상.children().length-1)
$대상.children(":eq("+($대상.children().length-1)+")")
n번째 자식 노드 찾기 $대상.children().eq(index)
$대상.children(":eq("+index+")")
부모 노드
찾기
부모 노드 찾기 $대상.parent()
조상 노드 찾기 $대상.parents(["선택자"])
형제 노드
찾기
이전 형제 노드 찾기 $대상.prev()
$대상.prevAll(["선택자"])
다음 형제 노드 찾기 $대상.next()
$대상.nextAll(["선택자"])
노드 생성/
추가
노드 생성 $("추가노드 DOM 문자열")
첫 번째 자식 노드로 추가 $부모노드.prepend($추가노드)
$추가노드.prependTo($부모노드)
마지막 번째 자식 노드로 추가 $부모노드.append($추가노드)
$추가노드.appendTo($부모노드)
특정 노드의 이전 위치에 추가 $기준노드.before($추가노드)
$추가노드.insertBefore($기준노드)
특정 노드의 다음 위치에 추가 $기준노드.after($추가노드)
$추가노드.insertAfter($기준노드)
노드제거 특정 노드 제거 $대상.remove()
모든 자식 노드 제거 $대상.children().remove()
노드 내용
읽기 및 변경
노드 내용을 문자열로 읽기 $대상.html() //태그 내용 포함
$대상.text() //태그 내용 제외
노드 내용 수정하기 $대상.html("수정할 태그 문자열")
$대상.text("수정할 텍스")
노드 내용을 이용해 여러 개의 자식 노드 추가하 $대상.html("추가할 태그 문자열")
노드 내용을 이용해 모든 자식 노드 제거하기 $대상.html("")

참조 - (메소드 정리표)

자바스크립트 + jQuery 완전정복 스터디(김춘경 지음)

현재 JDK는 12버전까지 나와있네요.

회사나, 프로젝트할때 꼭 최신버전을 사용하지 않습니다.(호환성 문제)

오라클 홈페이지에서 자바 이전버전을 다운받을 수 있습니다.

오라클 홈페이지 -> https://www.oracle.com/index.html

 

Oracle | Integrated Cloud Applications and Platform Services

LiDestri Food and Drink reduces tomato ‘disposals’ by 50%, supports innovation goals by shifting planning model to the cloud. “The dollar savings is a big deal but even bigger is sustainability. We hate to throw good products away.” —John Matrachisia, CIO

www.oracle.com

 

Download Java SE 클릭

 

자바 아카이브 다운로드 클릭

 

원하는 자바 버전 클릭후 다운로드 실행

이전버전 -> https://www.oracle.com/technetwork/java/javase/archive-139210.html

 

Oracle Java Archive | Oracle Technology Network | Oracle

 

www.oracle.com

설치는 다음 포스팅에 올려놓겠습니다!!

 

설치 및 환경변수 설정

https://kikikimoong.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94-JDK-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95window10-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98-%EC%84%A4%EC%A0%95?category=683941



출처: https://kikikimoong.tistory.com/entry/JAVA-JDK-이전버전-다운로드-하는-방법17-18 [개발자 부부의 다양한 이야기]

개발자 개발환경 구성 가이드

URL : https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev3.8:install_guide

개요

전자정부 개발자 개발환경은 기본적으로 Windows 32 Bit 기반으로 제공되나 이 이외의 환경에서도 사용 가능하다.
Windows 32 Bit 이외의 환경에서 개발환경을 사용할 필요가 있을 경우 본 가이드를 참고하도록 한다.

설명

개발환경을 개별적으로 구성해야 할 필요가 있을 경우 환경에 맞는 eclipse를 다운로드 받아 다음의 순서에 맞게 설치하도록 한다.
설치 소프트웨어 간 dependency 정보가 있으므로 반드시 아래의 순서를 따르도록 한다.

* 주의 전자정부 개발자 개발환경은 Oracle Java상에서 기능이 정상적으로 동작합니다. 다른 java (Open JDK)에서는 일부 기능이 정상적으로 동작하지 않을 수 있습니다.
* 주의 설치가이드 플러그인 [자동설치/업데이트주소]는 최신버전을 다운로드 받을 수 있는 주소 입니다. 개발환경에 설치된 버전과의 차이가 있을 수 있습니다.
* 주의 설치가이드 플러그인 [자동설치/업데이트주소]는 해당 플러그인을 공식적으로 받을 수 있는 저작자의 배포 주소 입니다. 주소가 변경되거나 상황에 따라서 다운로드가 안될 수 있습니다.

설치가이드

  • Eclipse Oxygen(4.7) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 4.7.3 https://www.eclipse.org/downloads/packages/release/oxygen/3a/eclipse-jee-oxygen-3a → Eclipse IDE for Java EE Developers 다운로드 필수
Spring IDE Core 3.9.5 http://download.springsource.com/release/TOOLS/update/e4.7/ → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 5.3.0 http://download.eclipse.org/releases/oxygen/ → Modeling → UML2 Extender SDK 필수
Subversive SVN Team Provider 4.0.5 http://download.eclipse.org/releases/oxygen/ → Collaboration → Subversive SVN Team Provider 설치 필수
Subversive SVN Connectors 6.0.4 http://community.polarion.com/projects/subversive/download/eclipse/6.0/update-site/ → Subversive SVN Connectors → Subversive SVN Connectors 설치, SVNKit 1.8.14 Implementation 설치 필수
eGovFrame 3.8.0 http://maven.egovframe.kr:8080/update_3.8/ 에서 필요 기능 설치 필수
JUnit 4.12 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
MyBatipse 1.2.1 http://dl.bintray.com/harawata/eclipse/ → MyBatipse → MyBatipse 선택
PMD 4.0.17 https://dl.bintray.com/pmd/pmd-eclipse-plugin/updates → PMD for Eclipse → PMD Plug-in 선택
FindBugs 3.0.1 http://findbugs.cs.umd.edu/eclipse → FindBugs → FindBugs Feature 선택
Properties Editor 6.0.5 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor → Properties Editor , PropertiesEditor_Asian_NLS 설치 선택
EclEmma 3.1.1 http://update.eclemma.org/ → EcliEmma → EclEmma Java Code Coverage 선택
Gradle 2.2.2 http://download.eclipse.org/buildship/updates/e47/releases → Buildship: Eclipse Plug-ins for Gradle → Buildship: Eclipse Plug-ins for Gradle 선택
Android Developer Tools 23.0.7 http://rgladwell.github.com/m2e-android/updates/ → Developper Tools 모두설치 안드로이드 개발 필수
Android Connector for M2E 1.4.0 http://rgladwell.github.com/m2e-android/updates/ → Android for Maven Eclipse → Android for Maven Eclipse 안드로이드 개발 필수
  • Eclipse Neon(4.6) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 4.6.3 http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon3 → Eclipse IDE for Java EE Developers 다운로드 필수
Spring IDE Core 3.8.4 http://dist.springsource.com/release/TOOLS/update/e4.5 → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 5.2.3 http://download.eclipse.org/releases/neon → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 6.0.4 http://download.eclipse.org/technology/subversive/4.0/update-site/ → Subversion SVN Team Provider Plugin → Subversive SVN Team Provider(4.0.5) 설치
http://community.polarion.com/projects/subversive/download/eclipse/6.0/neon-site/ → Subversive SVN Connectors → Subversive SVN Connectors(6.0.4) 설치, SVNKit 1.8.14 Implementation(6.0.4) 설치
필수
eGovFrame 3.7.0 http://maven.egovframe.kr:8080/update_3.7/에서 필요 기능 설치 필수
JUnit 4.12 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
MyBatipse 1.1.0 http://dl.bintray.com/harawata/eclipse → MyBatipse → MyBatipse(1.1.0) 선택
PMD 4.0.15 https://dl.bintray.com/pmd/pmd-eclipse-plugin/updates/ → PMD for Eclipse 4 → PMD Plug-in 선택
FindBugs 3.0.1 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.5 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택
EclEmma 3.0.1 http://update.eclemma.org/ → EcliEmma → EclEmma Java Code Coverage 선택
Gradle 1.0.21 http://download.eclipse.org/buildship/updates/e45/releases/1.0 → Buildship: Eclipse Plug-ins for Gradle → Buildship: Eclipse Plug-ins for Gradle 선택
Android Developer Tools 23.0.7 http://rgladwell.github.com/m2e-android/updates/ → Developper Tools → 모두설치 안드로이드 개발 필수
Android Connector for M2E 1.4.0 http://rgladwell.github.com/m2e-android/updates/ → Android for Maven Eclipse → Android for Maven Eclipse 안드로이드 개발 필수
  • Eclipse Mars(4.5) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 4.5 http://www.eclipse.org/downloads/packages/release/Mars/2 → Eclipse IDE for Java EE Developers 다운로드 필수
Spring IDE Core 3.7.3 http://dist.springsource.com/release/TOOLS/update/e4.4/ → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 5.1.2 http://download.eclipse.org/releases/mars/ → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 6.0.1 http://download.eclipse.org/releases/mars/ → Collaboration → Subbersive SVN Team Provider(3.0.4) 설치
http://community.polarion.com/projects/subversive/download/eclipse/5.0/mars-site/ → Subversive SVN Connectors → Subversive SVN Connectors(5.0.3) 설치, SVNKit 1.8.12 Implementation(5.0.3) 설치
필수
eGovFrame 3.6.0 http://maven.egovframe.kr:8080/update_3.6/에서 필요 기능 설치 필수
JUnit 4.12 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
MyBatipse 1.0.23 http://dl.bintray.com/harawata/eclipse → MyBatipse → MyBatipse 선택
PMD 4.0.11 https://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/ → PMD for Eclipse 4 → PMD Plug-in 설치 선택
FindBugs 3.0.1 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.4 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택
EclEmma 2.3.3 http://update.eclemma.org/ → EcliEmma → EclEmma Java Code Coverage 선택
Gradle 1.0.21 http://download.eclipse.org/buildship/updates/e45/releases/1.0 → Buildship: Eclipse Plug-ins for Gradle → Buildship: Eclipse Plug-ins for Gradle 선택
Android Developer Tools 23.0.7 http://rgladwell.github.com/m2e-android/updates/ → Developper Tools → 모두설치 안드로이드 개발 필수
Android Connector for M2E 1.4.0 http://rgladwell.github.com/m2e-android/updates/ → Android for Maven Eclipse → Android for Maven Eclipse 안드로이드 개발 필수
  • Eclipse Luna(4.4) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 4.4 http://www.eclipse.org/downloads/packages/release/luna/sr2 → Eclipse IDE for Java EE Developers 다운로드 필수
Spring IDE Core 3.7.0 http://dist.springsource.com/release/TOOLS/update/e4.4/ → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 5.0.2 http://download.eclipse.org/releases/luna/ → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 2.0.4 http://download.eclipse.org/releases/luna/ → Collaboration → Subbersive SVN Team Provider 설치
http://community.polarion.com/projects/subversive/download/eclipse/4.0/update-site/ → Subversive SVN Connectors → Subversive SVN Connectors 설치, SVNKit 1.8.7 Implementation 설치
필수
eGovFrame 3.5.1 http://maven.egovframe.kr:8080/update/에서 필요 기능 설치 필수
JUnit 4.11 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
MyBatipse 1.0.13 http://dl.bintray.com/harawata/eclipse → MyBatipse → MyBatipse 선택
PMD 4.0.7 https://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/ → PMD for Eclipse 4 → PMD Plug-in 설치 선택
FindBugs 3.0.1 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.4 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택
EclEmma 2.3.2 http://update.eclemma.org/ → EcliEmma → EclEmma Java Code Coverage 선택
Android Developer Tools 23.0.7 http://rgladwell.github.com/m2e-android/updates/ → Developper Tools → 모두설치 안드로이드 개발 필수
Android Connector for M2E 1.4.0 http://rgladwell.github.com/m2e-android/updates → Android for Maven Eclipse → Android for Maven Eclipse 안드로이드 개발 필수
  • Eclipse Kepler(4.3) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 4.3 http://www.eclipse.org/downloads/packages/release/kepler/sr2 → Eclipse IDE for Java EE Developers 다운로드 필수
Spring IDE Core 3.6.2 http://dist.springframework.org/release/IDE → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 4.1.2 http://download.eclipse.org/releases/kepler/ → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 2.0.1 http://download.eclipse.org/releases/luna/ → Collaboration → Subbersive SVN Team Provider 설치
http://community.polarion.com/projects/subversive/download/eclipse/4.0/update-site/ → Subversive SVN Connectors → Subversive SVN Connectors 설치, SVNKit 1.8.6 Implementation 설치
필수
eGovFrame 3.1.0 표준프레임워크포탈 > 다운로드 > 개발환경 다운로드 URL에서 구현도구(Implementation Tool) 다운로드 후 설치
Help > Install New Software > Add클릭 > Archive선택하여 구현도구 파일 등록
필수
JUnit 4.11 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
MyBatipse 1.0.8 http://dl.bintray.com/harawata/eclipse → MyBatipse → MyBatipse 선택
PMD 4.0.4 https://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/ → PMD for Eclipse 4 → PMD Plug-in 설치 선택
FindBugs 2.0.2 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.0 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택
EclEmma 2.3.2 http://update.eclemma.org/ → EcliEmma → EclEmma Java Code Coverage 선택
Android Developer Tools 23.0 http://rgladwell.github.com/m2e-android/updates/ → Developper Tools → 모두설치 안드로이드 개발 필수
Android Connector for M2E 1.1.0 http://rgladwell.github.com/m2e-android/updates → Android for Maven Eclipse → Android for Maven Eclipse 안드로이드 개발 필수
  • Eclipse Juno(4.2) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 4.2 http://www.eclipse.org/downloads/packages/release/juno/sr1 → Eclipse IDE for Java EE Developers 다운로드 필수
Maven(m2eclipse) 1.3.1
0.17.0
http://download.eclipse.org/m2e-wtp/releases/ → Maven Integration for Eclipse → m2e - Maven Integration for Eclipse / Maven Integration for WTP (Incubation) → m2e-wtp - Maven Integration for WTP (Incubation) 설치 필수
Spring IDE Core 3.1.0 http://dist.springframework.org/release/IDE → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 4.0.2 http://download.eclipse.org/releases/juno/ → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 1.0.0 http://download.eclipse.org/releases/juno → Collaboration → Subversive SVN Team provider(Incubation) 설치
http://community.polarion.com/projects/subversive/download/eclipse/2.0/juno-site/ → Subversive SVN Connectors → Subversive SVN Connectors 설치
필수
eGovFrame 2.5.0 표준프레임워크포탈 > 다운로드 > 개발환경 다운로드 URL에서 구현도구(Implementation Tool) 다운로드 후 설치
Help > Install New Software > Add클릭 > Archive선택하여 구현도구 파일 등록
필수
JUnit 4.8.1 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
PMD 3.2.6 https://pmd.sourceforge.net/eclipse → PMD for Eclipse 3 설치 선택
FindBugs 2.0.2 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.0 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택
Android Developer Tools 22.3 https://dl-ssl.google.com/android/eclipse/ → Developper Tools 안드로이드 개발 필수
Android Connector for M2E 0.4.3 http://rgladwell.github.com/m2e-android/updates → Android Connector for M2E 안드로이드 개발 필수
  • Eclipse Indigo(3.7) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 3.7 http://www.eclipse.org/downloads/packages/release/indigo/sr2 → Eclipse IDE for Java EE Developers 다운로드 필수
Maven(m2eclipse) 1.3.1
0.17.0
http://download.eclipse.org/m2e-wtp/releases/ → Maven Integration for Eclipse → m2e - Maven Integration for Eclipse / Maven Integration for WTP (Incubation) → m2e-wtp - Maven Integration for WTP (Incubation) 설치 필수
Spring IDE Core 3.1.0 http://dist.springframework.org/release/IDE → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 4.0.2 http://download.eclipse.org/releases/indigo → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 1.0.0 http://download.eclipse.org/releases/indigo → Collaboration → Subversive SVN Team provider(Incubation) 설치
http://community.polarion.com/projects/subversive/download/eclipse/2.0/indigo-site/ → Subversive SVN Connectors → Subversive SVN Connectors 설치
필수
eGovFrame 2.5.0 표준프레임워크포탈 > 다운로드 > 개발환경 다운로드 URL에서 구현도구(Implementation Tool) 다운로드 후 설치
Help > Install New Software > Add클릭 > Archive선택하여 구현도구 파일 등록
필수
JUnit 4.8.1 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
PMD 3.2.6 https://pmd.sourceforge.net/eclipse → PMD for Eclipse 3 설치 선택
FindBugs 2.0.2 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.0 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택
  • Eclipse Helios(3.6) Packages 이용 시 설치가이드

소프트웨어버전자동설치/업데이트주소필수여부

Eclipse 3.6 http://www.eclipse.org/downloads/packages/release/helios/sr2 → Eclipse IDE for Java EE Developers 다운로드 필수
Maven(m2eclipse) 1.3.1
0.17.0
http://download.eclipse.org/m2e-wtp/releases/ → Maven Integration for Eclipse → m2e - Maven Integration for Eclipse / Maven Integration for WTP (Incubation) → m2e-wtp - Maven Integration for WTP (Incubation) 설치 필수
Spring IDE Core 3.1.0 http://dist.springframework.org/release/IDE → Core / Spring IDE → Spring IDE Core 필수
UML2 Extension 4.0.2 http://download.eclipse.org/releases/helios → Modeling → UML2 Extender SDK 필수
Subversive SVN Connector 1.0.0 http://download.eclipse.org/releases/helios → Collaboration → Subversive SVN Team provider(Incubation) 설치
http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/ → Subversive SVN Connectors → Subversive SVN Connectors 설치
필수
eGovFrame 2.5.0 표준프레임워크포탈 > 다운로드 > 개발환경 다운로드 URL에서 구현도구(Implementation Tool) 다운로드 후 설치
Help > Install New Software > Add클릭 > Archive선택하여 구현도구 파일 등록
필수
JUnit 4.8.1 Eclipse에 JUnit이 내장되어 있으므로 별도 설치 필요 없음 필수
PMD 3.2.6 https://pmd.sourceforge.net/eclipse → PMD for Eclipse 3 설치 선택
FindBugs 2.0.2 http://findbugs.cs.umd.edu/eclipse 선택
Properties Editor 6.0.0 http://propedit.sourceforge.jp/eclipse/updates/ → PropertiesEditor 설치 선택

egovframework/dev3.8/install_guide.txt · 마지막 수정: 2019/01/02 18:00 (외부 편집기)

Java JDK 설치 : http://java.sun.com (version 1.6.20)

Apache Tomcat 설치 : http://tomcat.apache.org/  (version 7)

Eclipse IDE 설치 ; http://www.eclipse.org (Eclipse IDE for Java EE Developers 3.6 package)

Spring Framework 다운로드 : http://www.springsource.com/download/community?project=Spring%20Framework (version 3.0.4)


JDK, Tomcat 및 이클립스가 이미 설치되어 있어야 합니다.

아직 설치하지 않으신 분들은 먼저 위 프로그램들을 설치한 후 글을 읽어 주십시오.


Spring Framework 다운로드는 미리 하지 않으셔도 됩니다. 라이브러리 형태로 jar 파일을 임포트해서 쓰는 형식이니까요.


1. Help > Install New Software ... 메뉴로 이동하여 클릭해 줍니다.

 

그럼 아래와 같은 다이얼로그가 생성 됩니다.

 

2. 좌측 상단의 "Add..." 버튼을 클릭하면 Add Repository 다이얼로그가 나옵니다.

   여기에 아래 그림과 같이 적어 줍니다.

   Spring 업데이트 URL은 http://springide.org/updatesite 입니다.

 

 

3. Work width 콤보박스에서 2번에서 등록했던 항목을 선택하면 다이얼로그 중앙에 설치할 내역이 보여 집니다.

   그림과 같이 Core, Extensions(Incubation) , Extensions, Resources 를 선택하고 "Next" 버튼을 누릅니다.

   

 

4. 앞서 선택한 항목에 대한 Detail한 항목이 나옵니다 계속 "Next" 버튼을 눌러줍니다.

 

5. 약관에 동의하고 "Finish" 버튼을 누르면 설치가 시작됩니다.

 

6. 설치가 모두 끝나면 Eclipse를 재시작 하라는 메시지가 나옵니다.  재시작 해주시면 됩니다.

 

7. 이클립스 상단의 File > New > Project 메뉴를 눌러봅니다. 프로젝트 생성란에 Spring이 추가되었습니다.

 

8. 이클립스 상단 메뉴의 Window > Preferences 를 클릭하여 Server 항목의 Runtime Enviroments에 설치한 Tomcat을 연결해 줍니다.


 - 끝 -

#########################################################################
#									
#   Linux 환경하에서 Apache 1.3.12 + Tomcat 3.1 설치법			
#									
#									
#	$written by 김민구 <fire34@hananet.net>				
#		    Ajou Univ 97, Infomation and Computer Engineering	
#									
#	$Date : 2000/06/08					
#	$Last Updated : 2000/06/11			
#									
#	이 문서는 Apache 와 Tomcat을 설치하고 실행하는 법을 설명한다.	
#	버젼은 Apache 1.3.12, Tomcat 3.1을 사용하였다.			
#	초보자를 위해 되도록 쉽게 설명하였다. -.-			
#									
#	이 문서는 자유롭게 복사, 배포가 가능하지만			
#	저자에 대한 언급을 삭제하시면 안됩니다.				
#	추가되거나 변경이사항 있다면 문서를 Update해주시기 바랍니다.	
#									
#########################################################################


Apache와 Tomcat의 설치, 설정 >>

p.s :	Apache와 Tomcat 설치전 갖추어야 할 사항.

	- Linux 설치. -.-;
	- JDK 설치와 jdk PATH 설정( $JDK_HOME\bin 디렉토리, JDK 1.2.2 이상 권장 ), CLASSPATH 설정( $JDK_HOME\lib\tools.jar )
	- JSDK 2.0 혹은 그 이상의 version과 CLASSPATH 설정. (JSDK 2.1 권장)
	- 이상의 것들이 갖추어지지 않았다면 위 조건부터 갖추고 다음으로 넘어가세요.
	- JDK와 JSDK는 http://java.sun.com 에서 download받을 수 있습니다.

1. 위 사항을 갖추었다면 Apache1.3.12와 Tomcat 3.1을 downlaod 받습니다.

	Apache는 www.apache.org 에 가면 받을 수 있고,
	(6/21 현재 download 정확한 위치 : http://www.apache.org/dist/binaries/win32/)

	Tomcat은 jakarta.apache.org 에 가면 받을 수 있습니다.
	(6/21 현재 download 정확한 위치 : http://jakarta.apache.org/builds/tomcat/release/v3.1/bin/)

2. mod_jserv.so 파일을 download 받습니다.

	jakarta.apache.org에서 받을 수 있습니다.
	Tomcat Release Download받는 디렉토리 아래에 linux\i386\mod_jserv.so 가 있습니다.

3. 2개의 파일에 압축을 풉니다. 초보자를 위해 푸는법도..^^

	tar -xvzf apache_1.3.12.tar.gz <Enter>
	tar -xvzf jakarta-tomcat.tar.gz <Enter>

4. Configure 에서 Apache의 환경설정을 잡아줍니다.

 	apache_1.3.12 라는 directory가 생겼을 겁니다.
	apache_1.3.12 디렉토리로 들어갑니다.

	이제 Apache를 설치하기 위한 환경설정을 해주어야 합니다.
	shell에서 다음과 같이 typing 합니다.

	./configure --enable-rule=SHARED_CORE --enable-module=so --prefix=/usr/local/apache <Enter>
	혹은 ./configure\ <Enter>
	--enable=SHARED_CORE\ <Enter>
	--enable-module=so\ <Enter>
	--prefix=/usr/local/apache\ <Enter> 하셔도 됩니다. (같은거예요~)

	이것은 configure 에 사용할 환경을 잡아주는 것인데,
	enable-module=so 는 Apache와 Tomcat을 연동해서 사용할 수 있게 하며,
	prefix=/usr/local/apache 는 Apache가 설치될 경로를 지정하는 것입니다.
	위와 같이 정상적으로 하였다면 makefile이 만들어집니다. ^o^

5. Make and Install.

	shell에서 make <Enter> 를 칩니다.
	compile되는 것이 보일 것입니다.

	다 되었으면 이제
	make install <Enter> 를 칩니다.

	Install이 정상적으로 이뤄졌다면 다음과 같은 메세지를 볼 수 있습니다.

	+--------------------------------------------------------+
	| You now have successfully built and installed the      |
	| Apache 1.3 HTTP server. To verify that Apache actually |
	| works correctly you now should first check the         |
	| (initially created or preserved) configuration files   |
	|                                                        |
	|   /usr/local/apache/conf/httpd.conf			 |
	|                                                        |
	| and then you should be able to immediately fire up     |
	| Apache the first time by running:                      |
	|                                                        |
	|   /usr/local/apache/bin/apachectl start		 |
	|                                                        |
	| Thanks for using Apache.       The Apache Group        |
	|                                http://www.apache.org/  |
	+--------------------------------------------------------+

	이제 Apache의 설치는 끝났습니다.
	이곳까지 잘 되었다면 잠깐 한번 웃어도 좋아요~ 하하하. -.-;

	설치자체는 별로 어렵지 않죠?
	그럼 이제 Apache를 실행하기 위해 conf파일을 설정해 봅시다.

6. Apache conf file 설정

	Apache 에는 모두 3개의 conf file들이 있습니다.
	httpd.conf, access.conf, srm.conf 가 그것인데,
	우리는 Apache Web Server를 /usr/local/apache에 설치하였으므로
	/usr/local/apache/conf 에 들어가서 이 3개의 파일들을 확인할 수 있습니다.

	Apache 1.3.x 버젼부터는 httpd.conf 파일 한개로 모든 설정을 할 수 있게
	지원하므로 (기본값도 httpd.conf 파일 한개에서 모두 설정하게 되어있습니다)
	httpd.conf를 설정하는 법만 보기로 합시다~

	만약 3개의 설정파일들을 같이 사용하고자 한다면 다음의 문장을 찾아 주석을 풀어줍니다.

	#ResourceConfig conf/srm.conf
	#AccessConfig conf/access.conf

	그럼 httpd.conf 에서 수정해야 할 사항들을 볼까요?

	vi편집기를 열어 httpd.conf의 내용을 보면, 

	ServerAdmin fire34@hananet.net 이라는 부분이 있습니다.

	여긴 Server 에 문제가 발생하였을 때 사용자들이 메일을 보낼 관리자의 메일주소를 적으면 됩니다.
	위의 주소는 필자가 주로 사용하는 메일주소이니, 여러분에 맞게 변경하여 사용하심 됩니다.
	위 문장을 그대로 사용하여 엉뚱한 곳에서 필자에게 메일이 오는 일이 없기를..^^;;

	다음으로 Web Server의 DNS name 혹은 IP address를 지정해 주어야 합니다.
	위 문장 바로 아래쪽에서 쉽게 찾을 수 있습니다.

	ServerName 203.123.45.67

	이 부분을 Server의 DNS name (예 - http://www.javastudy.co.kr)이 있다면 DNS를, 없다면 IP address를 적어줍니다.

	이것으로 Apache의 설치는 끝났습니다. ^^

	**Tomcat 3.1과 연동하게 하려면 httpd.conf의 마지막에 다음 한 line을 적어줍니다.

		Include /usr/local/tomcat/conf/tomcat.conf

	눈치채셨겠지만 /usr/local/tomcat/conf 는 tomcat.conf가 위치한 경로입니다. ^o^

7. Tomcat 3.1의 환경설정

	jakarta-tomcat.tar.gz 파일을 받았다면 설치는 매우 수월합니다.
	이미 compile이 되어 있기 때문이죠. ^^
	2번에서 했던것처럼 압축만 풀면 이미 80%는 성공!

	jakarta-tomcat.tar.gz 파일을 /usr/local/ 아래에 압축을 풉니다.
	jakarta-tomcat 이라는 디렉토리가 생긴 것을 확인할 수 있습니다. ^^

	그럼 tomcat.conf파일을 수정해볼까요?

	기본적으로 jakarta-tomcat/conf 아래에 tomcat.conf파일에는 다음의 문장이 포함되어 있습니다.

	LoadModule jserv_module libexec/mod_jserv.so

	이 부분이 혹시 주석처리되어 있다면 주석을 풀어줍니다. 여기가 Apache와 연동하는 부분입니다.
	(문장 앞에 #가 있다면 주석처리된 것입니다.)
		
	환경설정 파일은 기본적인 사용시 더이상 건드릴 곳이 없습니다.
	이젠, mod_jserv.so를 /usr/local/apache/libexec 아래에 copy만 하면 됩니다.

	초보자용 서비스~! ^^
	- mod_jserv.so 가 있는 디렉토리에서 typing.
	  cp mod_jserv.so /usr/local/jakarta-tomcat/libexec/ <Enter>

8. Apache와 Tomcat의 기동

	이제 서버를 실행시켜 볼까요? ^^

	Apache의 실행파일은 /usr/local/apache/bin 아래에 apachectl 이라는 이름으로 있습니다.

	Start the Apache	- apachectl start <Enter>
	Shutdown the Apache	- apachectl stop <Enter>

	으로 간단히 서버를 올렸다 내렸다 할 수 있습니다.

	Tomcat은 jakarta-tomcat/bin아래에 startup.sh 와 shutdown.sh 가 있습니다.

	Start the Tomcat	- startup.sh <Enter>
	Shutdown the Tomcat	- shutdown.sh <Enter>

	실제 사용시에는 Apache를 먼저 기동하고 Tomcat을 기동하는 것이 보통입니다.
	뭐 거꾸로해도 돌아가긴 합니다.. --;

9. Test

	설치가 완료되었다면 'http://domain name' 혹은 'http://IP address' 로 웹서버가 기동되는지 확인합니다.
	JSP나 Servlet이 제대로 동작하는지 확인하려면 http://domainname/examples/ 에 들어가 확인합니다.

	똑같이 따라하셨다면 특별히 어려운 부분은 없었을 것이라 여겨집니다.

	Tomcat에는 Tomcat이 제공하는 Admin Tool이 있는데
	이것은 http://domainname:8080/admin으로 가시면 볼 수 있습니다.
	여기서 디렉토리를 추가할수도, 삭제할 수도 있습니다. ^^

	jsp파일은 $TOMCAT_HOME\webapps\examples 아래에 두면 바로 동작하는지 확인할 수 있고,
	directory 를 추가하시면 $TOMCAT_HOME\webapps 아래에 디렉토리가 생깁니다. ^^
	
	이젠..잘 사용하는 일만 남았습니다.
	그 뒤는 여러분께 맡깁니다. ^^;
	

10. 부록. -_-;

	혹시 궁금해 하는 독자가 있을 것 같아 httpd.conf 파일의 내용에 대해 몇가지만 더 설명하고자 합니다.

	ServerType standalone
	: Apache를 inetd 에서 실행할지 단독으로(standalone) 실행할지를 결정한다.

	Port 80
	: Apache가 동작할 Port를 지정한다. 80이 기본값이다.

	DocumentRoot "/usr/local/apache/htdocs"
	: HTML 파일들이 위치할 Directory를 정한다.

	UserDir public_html
	: 사용자 홈페이지, 즉 사용자의 html 파일의 위치를 지정한다.

	AccessFileName .htaccess
	: Access 권한을 설정하는 file의 이름을 결정한다. .htaccess가 기본값이다.

	DirectoryIndex index.html
	: 해당 Server에 접속시 자동으로 Loading되는 초기 파일을 지정한다.

	ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
	: 스크립트 파일이 위치할 Directory 를 지정한다.

	HostnameLookups Off
	: 로그 파일에 상대의 도메인네임을 기록할 것인지를 지정한다. 기본값은 off 이다.

	User nobody
	: Apache를 실행할 계정명을 지정한다.

	ServerRoot "/usr/local/apache"
	: Server 의 config, log, error 파일이 위치하는 Directory 이다.

	ErrorLog /usr/local/apache/logs/error_log
	: error 로그가 기록되는 위치와 파일명을 지정한다. Directory 를 지정않으면 ServerRoot에서 시작한다.

	PidFile /usr/local/apache/logs/httpd.pid
	: Server 의 pid 파일의 위치와 파일명을 지정한다.

	MinSpareServers 5
	: Apache는 접속속도를 빠르게 하기위해 여러개의 서버를 띄우는데, 대기중인 최소 서버 개수를 지정한다.

	MaxSpareServers
	: 위의 반대이다. 대기중인 최대 서버갯수를 지정한다.


#############################################################
	이 문서는 자유롭게 복사, 배포가 가능하지만			
		저자에 대한 언급을 삭제하시면 안됩니다.

	Ajou Univ 97, Information and Computer Engineering
			    김민구(fire34@nownuri.net)
		Phone:(0342)709-3468, PCS:019-426-5443
#############################################################

'Java' 카테고리의 다른 글

전자 정부 프레임윅  (0) 2019.12.23
이클립스에서 스프링 세팅 방법  (0) 2011.07.04
[ Java ] StringTokenizer 와 String.split()의 차이  (0) 2010.09.17
Java Map(HashMap, TreeMap, Hashtable)  (0) 2010.09.17
로그 남기기.. -java  (0) 2010.09.17

+ Recent posts