[JSP] 아파치 톰캣 시작과 폴더 구조 확인

2024. 6. 28. 17:29·JAVA/JSP 프로그래밍

[Tomcat 설치 폴더]
    ├── bin            # 실행 가능한 스크립트 및 실행 파일
    ├── conf           # 구성 파일
    ├── lib            # 톰캣 및 웹 애플리케이션에 필요한 라이브러리
    ├── logs           # 로그 파일
    ├── temp           # 임시 파일
    ├── webapps        # 웹 애플리케이션 파일 (WAR 파일 및 압축 풀린 애플리케이션)
    └── work           # JSP 컴파일된 파일 및 임시 데이터 저장소
  1. bin (바이너리): 실행 가능한 스크립트 및 실행 파일이 포함된 곳. 여기에는 톰캣을 시작하고 중지하는 스크립트 등이 있다.
  2. conf (구성): 구성 파일이 있는 곳. 여기에는 서버 설정, 웹 애플리케이션 설정, 사용자 정의 설정 등이 포함된다.
  3. lib (라이브러리): 톰캣 및 웹 애플리케이션에서 사용하는 라이브러리가 있는 곳. 이 라이브러리들은 클래스로더에 의해 로드되어 애플리케이션에 사용된다.
  4. logs (로그): 톰캣의 로그 파일이 저장되는 곳이다. 이곳에는 서버 작동에 대한 정보, 오류 및 경고 메시지 등이 포함된다.
  5. temp (임시): 임시 파일이 저장되는 곳입니다. 예를 들어, 웹 애플리케이션의 업로드된 파일이 여기에 저장될 수 있다.
  6. webapps (웹 애플리케이션): 웹 애플리케이션 (WAR 파일 또는 압축이 풀린 애플리케이션)이 배치되는 곳이다. 이 디렉토리에 애플리케이션을 추가하면 톰캣이 자동으로 인식하고 실행된다.
  7. work: JSP 파일의 컴파일된 결과 및 임시 데이터가 저장되는 곳이다. 톰캣은 JSP 파일을 처음 요청할 때 컴파일하여 여기에 저장된다.

 

Apache Tomcat 이란?

Apache Tomcat은

Apache Software Foundation에서 개발한 오픈 소스의 웹 애플리케이션 서버이다.

Tomcat은 자바 Servlet과 JSP를 실행하기 위한 웹 애플리케이션 서버로, 클라이언트의 요청에 대해 정적인 웹 페이지를 제공하거나, Servlet과 JSP 등의 동적인 웹 페이지를 생성하여 제공한다.

 

Tomcat은 Apache 웹 서버와 같은 방식으로 동작하며, 클라이언트의 요청을 처리하기 위해 HTTP 프로토콜을 사용한다. Tomcat은 웹 애플리케이션을 실행하기 위한 웹 컨테이너(Web Container)로서, 서블릿 컨테이너(Servlet Container)와 JSP 컨테이너(JSP Container)를 포함한다.

 

Tomcat은 자바 EE(Enterprise Edition) 기술을 사용하여 Servlet, JSP, JDBC 등의 자바 기술들을 사용할 수 있다. Tomcat은 다른 웹 서버와 마찬가지로, 웹 서버와 연동하여 사용할 수 있다. 또한, Tomcat은 모듈화되어 있어 필요한 기능들을 선택적으로 사용할 수 있다.

 

Tomcat은 무료이며, 오픈 소스로 제공되어 누구나 자유롭게 사용할 수 있다. Tomcat은 여러 운영체제에서 실행할 수 있으며, 안정성과 성능면에서 우수한 성능을 발휘한다.

 

서블릿과 JSP 파일 만들어 보기  
package com.tenco;

import java.io.IOException;
import java.io.PrintWriter;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet(name = "echo2", urlPatterns = {"/echo2"})
public class Echo2 extends HttpServlet {
	
	public Echo2() {
		super();
	}
	
	// get 요청 방식 
	// http://localhost:8080/demo_3/echo2
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// request -> req(
		System.out.println("doGet 메서드 호출 확인 ");
		// 자바.io 객체 (스트림 통해 데이터를 넣을 예정) 
		PrintWriter pw = resp.getWriter(); 
		pw.print("<!DOCTYPE html>");
		pw.print("<html lang=\"en\">");
		pw.print("<head>");
		pw.print("    <meta charset=\"UTF-8\">");
		pw.print(" <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">");
		pw.print("    <title>Document</title>");
		pw.print("</head>");
		pw.print("<body>");
		pw.print("<section>");
		pw.print("<p style=\"color: red;\" >Hello First Srvlet 반가워</p>");
		pw.print("</section>");
		pw.print("</body>");
		pw.print("</html>");
		resp.setContentType("text/html; charset=utf-8");
	}
	
	
	
	// post 요청 방식 
	// http://localhost:8080/demo_3/echo2
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doPost(req, resp);
	}
	
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>home.jsp 파일 입니다 </h1>
	<p>주소 설계 : http://localhost:8080/demo_3/home.jsp</p>
</body>
</html>

'JAVA > JSP 프로그래밍' 카테고리의 다른 글

[JSP] 서블릿 작성, 배포, web.xml 설정에 이해  (0) 2024.07.02
[JSP] 서블릿 Life Cycle 이란?  (0) 2024.07.02
[JSP] 서블릿이란?  (0) 2024.07.01
[JSP] WAS와 웹 컨테이너의 역할  (0) 2024.06.28
[JSP] 웹 서버와 웹 애플리케이션 서버(WAS)  (0) 2024.06.28
'JAVA/JSP 프로그래밍' 카테고리의 다른 글
  • [JSP] 서블릿 Life Cycle 이란?
  • [JSP] 서블릿이란?
  • [JSP] WAS와 웹 컨테이너의 역할
  • [JSP] 웹 서버와 웹 애플리케이션 서버(WAS)
미로910
미로910
개발자를 꿈꾸는 민경이의 기록 블로그
  • 미로910
    개발 note
    미로910
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 설치 메뉴얼
      • HTML
      • JAVA
        • Java 기초
        • Java 응용
        • 자료구조
        • HTTP
        • JSP 프로그래밍
      • MySQL
        • MySQL 기본
        • 1일 1쿼리
      • CSS
      • Spring boot
      • JS
        • 게시판 만들기
      • Git
      • Flutter
        • MVVM 활용
        • 심화 버전
        • 1일 1 Flutter
      • 디자인 패턴의 활용
      • error note
      • My Project
        • [졸작] LLM 기반 특허 유사도 분석 시스템
        • 도서 관리 프로그램 (final project)
        • amigo
        • 친구 매칭 프로그램(FMP)
      • Python
      • 딥러닝
      • 네트워크
      • 공부 노트
        • 연구회
        • 자료구조
      • 기타
  • 블로그 메뉴

    • 홈
    • 전체보기
    • -----------------------
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
미로910
[JSP] 아파치 톰캣 시작과 폴더 구조 확인
상단으로

티스토리툴바