먼저 웹에 대해 간략히 이해해봅시다.
웹은 클라이언트와 서버 간의 통신으로 구성된 시스템입니다. 클라이언트(웹 브라우저)는 서버에 HTTP 요청을 보내고, 서버는 해당 요청에 대한 데이터를 응답합니다. 요청을 보내는 쪽을 클라이언트 컴퓨터라고 하고, 요청을 받아 처리하는 쪽을 서버 컴퓨터라고 하며, 이 과정에서 HTTP 통신 방식이 사용됩니다.
지금까지 우리는 JDBC 를 사용하여 SQL 에만 JAVA를 연결해봤지만, 이제는 직접 서버에 연결해봐야 합니다.
그러기 위해서는 Servlet 과 Tomcat 을 알아야 합니다. 천천히 글로 적어보겠습니다.
1. 서블릿(Servlet)이란?
서블릿은 웹서비스를 위한 "자바의 클래스" 입니다. 자바를 사용해서 웹을 만들기 위해 필요한 기술입니다.
사용자의 요청을 받아 처리하고 그에 해당하는 응답페이지를 다시 만들어서 사용자에게 다시 전송하는 역할을 합니다.
즉, 웹에서의 동적인 페이지를 java 로 구현할 수 있게 도와주는 서버측 프로그램입니다.
- Tomcat같은 서블릿 컨테이너에서 실행됩니다.
2. Tomcat이란?
위의 사진을 보면 알 수 있듯이, Servlet은 웹 서버에서 실행되는 프로그램입니다. Java 는 일반적으로 프로그램을 실행할 때, main() 메소드로 실행하지만 Servlet 은 서블릿 컨테이너가 있어야 클라이언트로부터 요청을 받고 실행할 수 있습니다.
이 역할을 하는 것이 Apache Tomcat 웹서버입니다.
Tomcat 의 기능
- 클라이언트(웹 브라우저)으로부터 요청이 오면 Tomcat 이를 받습니다.
- 적절한 서블릿(doGet(), doPost())을 찾아 실행합니다. (브라우저에서 서버로 요청을 보낼때 get 방식과 post 방식이 있음)
- 서블릿이 HTML 응답을 생성하여 다시 클라이언트로 전송합니다.
동작 순서는 다음과 같습니다.
1️⃣ 클라이언트가 요청 (http://localhost:8001/hello)
2️⃣ Tomcat이 요청을 서블릿으로 전달
3️⃣ 서블릿이 doGet() 또는 doPost() 메서드를 실행
4️⃣ 응답을 생성하여 클라이언트에 전달
3. 서블릿의 역할 및 필요한 이유
HTML, CSS, JavaScript만으로는 정적인 웹 페이지밖에 만들 수 없습니다. 서버와 연결하지 않았기 때문입니다.
서버에 연결되어 있지 않다보니 로그인시스템 페이지, 게시판, 쇼핑몰 과 같은 서버에서 데이터를 요청한 후 받아와 사용할 수 있는 동적인 페이지는 만들수 없습니다. 하지만 서블릿을 사용하면 사용자의 요청을 처리하고, 데이터베이스와 연동하는 동적인 웹 애플리케이션을 만들 수 있습니다.
✔ 클라이언트의 요청을 받아 처리
✔ 로그인, 회원가입 같은 웹 서비스 로직 구현
✔ DB에서 데이터를 가져와 HTML로 변환해 응답
✔ 세션을 관리하여 사용자 인증 처리
즉, 서블릿은 웹 개발에서 백엔드 로직을 담당하는 자바 클래스라고 보면 되겠습니다.
'Server' 카테고리의 다른 글
[SERVER]JSP 게시판 프로젝트 흐름 정리 (0) | 2025.02.27 |
---|---|
[JSTL] JSTL 라이브러리 설치파일 및 적용방법 (0) | 2025.02.24 |
[EL] EL이 무엇일까? (0) | 2025.02.24 |
[SERVER] GET 방식과 POST 방식이란? (0) | 2025.02.21 |
[JSP] JSP는 무엇일까? (1) | 2025.02.21 |