쌍용교육(JAVA)/Servlet

쌍용교육 -Servlet수업 45일차 ch04

구 승 2024. 4. 22. 15:40

LifeCycle.java

package kr.web.ch04;
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;
                        
@WebServlet("/lifeCycle")
public class LifeCycle extends HttpServlet{
	int initCnt =0;
	int serviceCnt =0;
	int destroyCnt =0;
	
	@Override
	public void init() throws ServletException{
		System.out.println("init 메서드는 첫 요청만 호출됨 : " + (++initCnt));
	}
	@Override
	public void service(HttpServletRequest request,
						HttpServletResponse response) 
								throws ServletException,IOException{
		System.out.println("service 메서드가 요청할 때마다 호출됨 : "+(++serviceCnt));
		
		//문서 타입 및 캐릭터 셋 지정
		response.setContentType("text/html;charset=utf-8");
		//HTML 출력을 위한 출력 스트림 생성
		PrintWriter out = response.getWriter();
		out.println("<html>");
		out.println("<head><title>Servlet Life Cycle</title></head>");
		out.println("<body>");
		out.println("서블릿 init()메서드 호출 횟수 : "+ initCnt + "<br>");
		out.println("서블릿 service()메서드 호출 횟수 : "+serviceCnt + "<br>");
		
		out.println("</body>");
		out.println("</html>");
	}
	@Override
	public void destroy() {
		System.out.println("destroy 메서드는 본 servlet이 더이상 사용되지 않을 때만 호출됨 : "+(++destroyCnt));
	}
}
새로고침 할 때마다 sercie 호출 증가. destroy는 호출의 시간이 오래걸리기에 일부러 코드를 만진다음 저장을 하면 빠르게 호출됨

cmd 창을 들어가서 ipconfig를 입력하고, IPv4 주소의 주소를 localhost 대신 넣으면 다른 사람들이 접속 할 수 있음