Survlet

정윤서·2024년 1월 29일
0
post-custom-banner

서블릿(Servlet)

- 정의: 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램.
- 기능: 웹 서버에서 실행되며, 사용자의 요청을 처리한 후 웹 페이지를 생성하여 응답한다.

서블릿의 작동 원리

클라이언트 요청 수신

: 웹 브라우저에서 서블릿에 HTTP 요청을 보낸다.

서블릿 실행

: 웹 서버가 요청을 받고, 해당 서블릿을 로드하여 실행한다.

요청 처리

: 서블릿이 요청을 처리하며, 필요시 데이터베이스와 상호작용한다.

응답 생성

: HTML, JSON 등 형식으로 응답을 만들어 클라이언트에 전송한다.

서블릿 예시 코드

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class SimpleServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>Hello, Servlet World!</h1>");
        out.println("</body></html>");
    }
}

이 코드는 HTTP GET 요청을 처리할 수 있으며 요청이 들어오면 간단한 HTML 페이지를 생성하여 응답한다.

스프링 프레임워크와 서블릿

스프링의 역할

: 스프링은 서블릿을 직접 다루지 않고, 더 높은 수준의 추상화를 제공한다. '@Controller', '@RestController'와 같은 어노테이션을 사용해 컨트롤러를 정의, '@GetMapping', '@PostMapping'등으로 Http요청을 처리한다.

스프링의 장점

: 스프링 프레임워크는 코드 간결성, 일관된 프로그래밍 모델, 확장성, 강력한 기능 제공, 커뮤니티 지원 등을 통해 웹 애플리케이션 개발을 간소화 한다.

스프링 프레임워크를 사용하지 않을 경우

직접 구현 필요성

: 서블릿 생명주기 관리, 데이터베이스 연결, 멀티스레딩, 보안 등을 직접 처리해야 한다.

유지보수 및 확장성 고려

: 복잡성과 개발 시간 증가, 아키텍처 설계 및 코드 관리에 더 많은 주의 필요.

대안 프레임워크

: Java EE, Play Framework, Micronaut, Quarkus 등 다른 프레임워크를 고려할 수 있으며, 각 프레임워크는 고유의 장단점을 가진다.

post-custom-banner

0개의 댓글