성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و

서블릿이란? Servlet 본문

백엔드개발/JSP

서블릿이란? Servlet

hyemi_flora 2024. 1. 13. 15:44

# Servlet

- 서블릿 서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바클래스

- 독자적으로는 실행되지 못하고, 톰캑과 같은 JSP/Servlet컨테이너에서 실행된다

- 서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송

 

# 서블릿 특징

- 서버쪽에서 실행되면서 기능을 수행

- 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러 기능을 제공

- 스레드 방식으로 실행

- 자바로 만들어져 자바의 특징(객체지향)을 가진다

- 컨테이너에서 실행

- 컨테이너 종류에 상관없이 실행(플랫폼 독립적)

- 보안 기능을 적용하기 쉽다

- 웹 브라우저에서 요청 시 기능을 수행한다

 

# 서블릿 생명주기(Life cycle)

- 서블릿도 자바클래스라 실행하면 초기화 과정 -> 메모리 인스턴스 생성 -> 서비스 수행 ->소멸 의 과정을 거친다

- 위 단계를 거칠 때마다 서블릿 클래스의 메서드가 호출되어 초기화, DB연동, 마무리 작업이 수행됨

- 각 과정에서 호출 되는 기능을 수행하는 Life cycle메서드, 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드이다.

 

# 서블릿 실행과정

1. 사용자 정의 서블릿 클래스 만들기 (HttpServlet 클래스 상속)

2. 서블릿 생명주기메서드 구현 (오버라이딩 해서 기능 구현)

3. 서블릿 매핑 작업

4. 웹 브라우저에서 서블릿 매핑 이름으로 요청하기

 

package chap01.servlet;

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

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

//JSP가 1차로 변환되는 형태

// @WebServlet(URI) : 이 서블릿으로 접속할때 사용할 URI를 설정한다
@WebServlet("/Hello")
public class HelloServlet extends HttpServlet{
	
	
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) 
			throws ServletException, IOException {
		//HttpServletRequest : 클라이언트 측에서 보낸 요청 정보가 담겨있는 객체 
		//HttpServletResponse : 요청에 대한 모든 처리가 끝난 후 요청을 보냈던 상대에게 응답하는 객체

		//JSP에서 <% %> 부분
		PrintWriter out = resp.getWriter();
		
		out.print("<html>");
		out.print("<head><title>Hello Servlet!</title></head>");
		out.print("<body>");
		out.print("<h3>Hello, Servlet!</h3>");
		out.print("</body>");
	}
}

'백엔드개발 > JSP' 카테고리의 다른 글

JSP에서 사용되는 주석  (0) 2024.01.13
HTML source > input / form  (1) 2024.01.13
<구구단 페이지 만들기>  (0) 2024.01.13
JSP(Java Server Pages)  (0) 2024.01.13