티스토리 뷰

728x90
서블릿 생명주기 

서블릿도 자바 클래스이다.

그러므로 초기화 과정 메모리에 인스턴스 생성 서비스 수행후 소멸 하는 과정을 거친다

 

1. 요청시 서블릿 객체 생성

2. 서버는 init()메소드를 호출하여 서블릿을 초기화

3. service()메소드를 호출해서 서블릿이 브라우저의 요청을 처리

4. service()메소드는 특정 HTTP요청 (GET, POST)을 처리하는 메소드 

5. 서버는 destroy() 메소드를 호출하여 서블릿을 제거한다.

 

해당 예제를 따라해보며 결과 값을 확인해보자

자바(서버)

package servletEx2;

import java.io.IOException;

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

@WebServlet("/login")
public class LoginServlet extends HttpServlet { // HttpServlet 상속 & import 
	public void init() throws ServletException{ //init 함수 Servlet을 받기위한 ServletException import
		System.out.println("init 메서드 호출");
	}
	
	
	protected void doGet (HttpServletRequest request, HttpServletResponse response)
    		//throw는 메소드내에서 상위블럭으로 예외를 던지는 것
            //throws는 현재 메소드에서 상위 메소드로 예외로 던진다.
			throws ServletException, IOException{
            	//HTTP 요청을 보낼때 파라미터(컨텐츠)와 함께 끼워 보낼 수 있다.
                //HTTP 요청에 따라 파라미터 값을 얻기 위해 사용하는 것이 request.getParameter()메소드이다.
				String user_id = request.getParameter("user_id");
				String user_pw = request.getParameter("user_pw");
				System.out.println("아이디 : " + user_id);
				System.out.println("비밀번호 : " + user_pw);
			}
	
	public void destory() {
		System.out.println("destroy 메서드 호출");
	}
}​

HTML(클라이언트)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
	<form name = "frmLogin" method = "get" action = "login" encType = "UTF-8">
		아이디 : <input type = "text" name = "user_id"><br>
		비밀번호 : <input type = "text" name = "user_pw"><br>
		<input type = "submit" value = "로그인"> <input type = "reset" value = "다시입력">
	</form>
</body>
</html>

'Back-end > Servlet, JSP' 카테고리의 다른 글

Servlet/JSP 비교, Servlet이란? JSP란?  (0) 2021.09.07
댓글