카테고리 없음

Servlet AWS 클라우드 기반 Devops 개발자 과정 웹, Tomcat서버

minkhinformation 2025. 3. 20. 08:45

웹의 구조

 

웹은 클라이언트와 서버 간의 통신으로 구성된 시스템이다. 클라이언트는 서버에 HTTP 요청을 보내고, 서버는 해당 요청에 대한 데이터를 응답한다. 

요청을 보내는 쪽을 클라이언트 컴퓨터라고 하고, 요청을 받아 처리하는 쪽을 서버 컴퓨터라고 하며, 이 과정에서 HTTP 통신 방식이 사용된다.

 

 

웹 서버(Web Server)

클라이언트의 HTTP 요청에 따라 정적 콘텐츠(HTML, 이미지, CSS파일 등)를 제공하는 역할을 한다. 

요청된 파일을 찾아 전송하는데 최적화되어 있다. 

장점

 

  • 빠른 응답 속도: 정적인 파일을 처리하는 데 최적화되어 있어 빠른 응답을 제공합니다.
  • 단순한 구조: 요청을 단순히 파일 시스템에서 찾아 반환하는 방식이기 때문에 구조가 단순하고 빠릅니다.

 

ex) Apache, Nginx, Microsoft IIS등

 

웹 애플리케이션 서버(WAS- Web Application Server)

동적 웹 애플리케이션을 실행하고 처리하며, 정적 리소스도 제공할 수 있는 서버다. HTTP기반으로 동작하며, 서블릿, JSP, 스프링 MVC 등의 기술을 사용해 애플리케이션 로직을 수행하고 동적 HTML 및 HTTP API(JSON)를 생성한다.

장점 

 

  • 동적 콘텐츠 처리: 복잡한 비즈니스 로직을 서버 측에서 처리하고, 클라이언트에게 동적으로 생성된 콘텐츠를 제공합니다.
  • 확장성: 애플리케이션 서버는 더 많은 기능을 제공하므로, 고급 비즈니스 로직과 엔터프라이즈급 애플리케이션에 적합합니다.

 

ex) Tomcat, Jetty, Undertow 등

 

웹 서버, 웹 애플리케이션 서버(WAS) 차이

구분 웹 서버(Web Server) 웹 애플리케이션 서버(Web Application Server)
주요 역할 HTTP 요청을 받아 정적 콘텐츠 제공 동적 콘텐츠 생성 및 서버 -side 로직 처리
처리하는 콘텐츠 정적 콘텐츠(HTML, 이미지, CSS 등) 동적 콘텐츠 (서버 -side 스크립트 실행, 데이터베이스 연동 등)
비즈니스 로직 없음 있음 (비즈니스 로직 실행)
예시 Apache HTTP Server, Nginx Apache Tomcat, JBoss, WildFly, GlassFish 등
언어 및 프레임워크 지원 주로 HTML, CSS, JavaScript Java, PHP, Python, Ruby, .NET 등 다양한 언어 지원
데이터베이스 연결 직접 처리하지 않음 데이터베이스와의 연결 및 CRUD 작업 처리
세션 관리 기본적인 세션 관리(세션 파일 처리) 고급 세션 관리 기능(예  : 클러스터링, 지속적인 세션 유지)

 

 

 

Tomcat이란?

아파치 소프트웨어 재단의 웹 애플리케이션 서버(Web Application Server, WAS)

자바 서블릿을 실행시키고 JSP코드가 포함되어 있는 동적 웹 페이지를 구동시켜 주는 프로그램

 

Tomcat의 주요 특징

1. 서블릿 컨테이너(Servlet  Container)

 

  • Tomcat은 서블릿JSP의 실행을 위한 컨테이너 역할을 합니다.
  • 서블릿은 Java로 작성된 서버-side 애플리케이션으로, 클라이언트의 요청을 처리하고 응답을 생성하는 기능을 담당합니다.
  • JSP는 HTML과 Java 코드를 혼합하여 작성하는 서버-side 페이지입니다. Tomcat은 이 JSP 파일을 서블릿으로 변환하여 실행합니다.

 

2. 유명한 Java 웹 서버

 

  • Tomcat은 Java 웹 애플리케이션 서버 중 가장 많이 사용되는 서버 중 하나로, 많은 기업과 개발자가 선택하고 있다.

Tomcat의 구성 요소

구성 요소 역할
Cataline Tomcat의 핵심인 Servlet 컨테이너(Servlet을 실행하는 역할)
Coyote 클라이언트의 HTTP 요청을 받아 처리하는 웹 서버 역할
Jasper JSP(Java Server Pages)를 Servlet으로 변환하고 실행하는 JSP 엔진
Realm 사용자 인증과 권한을 관리하는 보안 관리 모듈
Cluster 여러 개의 Tomcat 서버를 묶어 로드 밸런싱 및 세션 복제를 제공
Valves 요청과 응답을 가로채어 로깅, 필터링 등의 추가 기능을 제공
Connectors Tomcat과 외부 웹 서버(Apache, Nginx)와 연동하는 역할

 

이제 Tomcat을 사용하기 위해 Tomcat 설치과정과 설정방법들을 알아보자

1. 구글에 Tomcat 검색

2. Download 클릭

3. 왼쪽의 다운로드 Tomcat 10(자신이 설치한 자바 버전이랑 tomcat의 자바 버전이랑 일치해야 한다.

4. Binary Distributions -> 64-bit Windows zip 설치

5. 다운로드받은 압축파일 풀기

 

6. 새로운 폴더를 만들고 이클립스(Eclipse)로 해당 폴더 열기

 

7. window → preferences에서 utf8설정을 해준다

7-1) general → editors → text editors → spelling → encodeing

7-2) web → css files, html files, jsp files전부 encodeing

7-3) json → json files, xml → xml files 전부 encodeing

 

8. window → preferences → XML(web) → Download extemal resources like referenced DTD, XSD체크

 

9. window → preferences → server runtime environments에 다운로드한 tomcat 10.1 추가

 

10. Compiler 검색 후 버전 확인 17

 

11. 아래쪽 severs에 tomcat10.1 서버 추가

 

12 아래쪽 생성된 서버 더블클릭 후 http포트번호 변경(ex. 8888), 서브모듈 위다웃 퍼블리싱 체크 후 저장

13. 왼쪽 프로젝트목록에서 오른쪽마우스 클릭 후 다이나믹 웹프로젝트 생성

13-1) 프로젝트명입력 후 next

13-2) default output filder에 src/main/webapp/WEB-INF/classes경로 입력 후 next

13-3) generate web.xml deployment descriptor 체크 후 finish

14. 아래 servers에서 서버오른쪽 클릭 후 add → 웹프로젝트 생성한 것 추가해 주면 완료