paranjong

[java] embedded tomcat 로컬 구축 본문

Development Record/java

[java] embedded tomcat 로컬 구축

paranjong 2020. 6. 7. 15:57

이클립스 내에서 톰캣 서버를 구성하여 사용하는 방법도 있지만 어플리케이션에서도 가능하다.

 

어플리케이션에서 톰캣 서버를 동작시킬수 있는 방법은 embedded tomcat이다.(참고 slipp.net)

 

embedded tomcat를 사용하기 위해서는 몇가지 파일을 다운로드 해야한다,

 

먼저 Apache Tomcat 홈페이지(http://tomcat.apache.org/)에 접속하여 왼쪽 메뉴에서 다운로드를 클릭한다.

 

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications ar

tomcat.apache.org

 

Apache Tomcat 홈페이지

tomcat 버전은 버전 8로 사용하였습니다.

 

Tomcat 버전 8을 클릭하면 하기와 같은 내용이 나옵니다.

 

여기서 Embedded 항목에서 사용하시는 운영체제에 맞게 압축파일을 다운로드합니다.

 

저는 windows 환경이므로 zip 파일을 다운로드 하였습니다.

 

zip을 압축을 풀게되면 여러 jar들이 있습니다.

 

jar 파일들을 모두 복사하여, 이클립스 프로젝트 내에 복사합니다.

 

저의 경우, 프로젝트 내에 lib 폴더를 만들어 생성한 폴더 안에 복사하였습니다.

 

자 이제 복사한 jar들을 프로젝트내 적용하기 위하여 프로젝트 buildpath 창을 엽니다.

 

저의 경우 프로젝트 내에 lib 폴더에 jar를 복사하였기 때문에 우측 버튼 중 Add JARs를 클릭하여 복사한 jar를 전부 추가합니다.

 

프로젝트 내에 복사하지 않은 경우네는 Add External JARs를 클릭하여, 다운로드 받은 jar를 전부 추가합니다.

 

추가가 완료디면 네비게이션 창에 Refferenced Libraries 목록에 추가한 jar가 표시됩니다.

 

 

Embedded Tomcat를 실행하기 위한 환경은 완료가 되었습니다.

 

이제 어플리케이션에서 tomcat을 실행하기 위해서 코드를 작성해 봅니다.

 

public class WebServerLauncher {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String webappDirLocation = "webapp/";
		Tomcat tomcat = new Tomcat();
		String webPort = System.getenv("PORT");
		if (webPort == null || webPort.isEmpty()) {
			webPort = "8080";
		}

		tomcat.setPort(Integer.valueOf(webPort));
		Connector connector = tomcat.getConnector();
		connector.setURIEncoding("UTF-8"); 
		tomcat.addWebapp("/", new File(webappDirLocation).getAbsolutePath());
		System.out.println("configuring app with basedir: "
				+ new File("./" + webappDirLocation).getAbsolutePath());
		try {
			tomcat.start();
		} catch (LifecycleException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		tomcat.getServer().await();
	}
}

웹 어플리케이션 ROOT path 및 Port 설정 완료 후 어플리케이션을 실행하면

 

다음과 같이 정상적으로 tomcat이 실행된 것을 확인할 수 있다.

'Development Record > java' 카테고리의 다른 글

[java] POST 요청 데이터 QueryString으로 만들기  (0) 2020.04.27
Comments