1. CGI (Common Gateway Interface)
- CGI 이전 웹서버
- 사용자가 특정한 경로를 입력하면 리소스(웹페이지) 제공
- CGI
- 사용자로부터 입력을 인자(파라미터)로 받아 프로그램을 동작시켜 나온 결과를 웹으로 제공
- 웹 서버는 요청에 있는 주소가 유효한지를 확인하고 응답
- 웹 서버에서 동적인 페이지를 보여주기 위해 프로그램을 기동하는 기술
- CGI 동작 구조
- 사용자의 요청(request)을 웹 서버로 전달
- 웹 서버는 요청에 있는 주소가 CGI에 매핑되어 있는지 확인
- 매핑이 없으면 오류, 매핑 성공 시 실행
- 웹 서버는 CGI 프로그램이 표준 출력으로 보낸 내용을 사용자에게 돌려줌
- static web : ex) 기업 소개 페이지
- dynamic web
- 데이터가 움직이며 사용자의 행동에 민감하게 반응
- 추천 알고리즘, 팔로우, 좋아요 등
- ex) 소셜 네트워크 페이지
2. 서블릿 (Servlet)
- 서버(Server) + 애플릿(Applet)
- Java 웹 서버로 웹 페이지를 제공할 때 동적 데이터 제공을 도와주는 역할
- 사용자님 반가워요 -> 홍길동님 반가워요
- 프로세스
- 웹 브라우저는 request를 보내고 response를 받는다.
- 웹 브라우저 request -> Servlet -> Response
- 문자열의 해석(parsing)에 들어가는 시간을 줄이고 비즈니스 로직의 개발에 집중 가능
3. CGI와 서블릿의 차이점
- CGI는 브라우저가 웹 서버로 요청을 하면, 각각 프로세스 생성
- => 대량 접속 시에는 부하(load) 발생
- 서블릿은 프로세스를 별도로 만들지 않고, 요청 수신 시 내부의 Thread를 생성
- => Thread가 일정 개수를 넘어가면 대기
- =>Thread끼리 공유할 수 있는 자원은 공유
4. Eclipse로 최초의 서블릿을 만들기 위한 준비
- java download

- Eclipse download packages










서버 연결



패키지 추가

자동 임포트 하는 법
properties





톰캣 포트 변경


자바 소스코드
package com.korea.servlet;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet
{
public MyServlet()
{
super();
System.out.println("MyServlet Created");
}
}
html 소스코드
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>환영하고 싶습니다. </h1>
</body>
</html>

'자바 공부 > [자바] 기본 공부' 카테고리의 다른 글
| [JSP 2일차] OrderServlet 파라미터 입력 연습 (1) | 2024.11.20 |
|---|---|
| [JSP 1일차] 서블릿의 Get, Post (0) | 2024.11.19 |
| [자바공부 4일차] 람다식 (0) | 2024.11.11 |
| [자바 공부 4일차] 쓰레드와 상태 제어 (0) | 2024.11.11 |
| [자바 공부 4일차] 쓰레드 (3) | 2024.11.11 |