Servlet
서블릿은 서버를 관리하는 기술 중 하나입니다.
싱글턴 패턴과 같이
서버를 최초로 접속하는 사용자가 있을 때 서버의 생성자들을 실행하고
이후에 접속하는 다른 사용자들에게는 생성자의 주소를 전달해
데이터가 힙에 쌓이는 일을 방지해주는 기술입니다.
이 설명이 맞는지 모르겠습니다만.
위키를 읽어도 이해가 안 되고
다른 포스트들을 보면 느낌은 알겠는데 잘 와닿지가 않고
그렇다고 그 용어들을 무슨 의미인지도 모르고 따라 쓰는 건 더욱 말이 안되기 때문에
설명을 그저 멈추지 않기로 했습니다.
제가 Servlet에 대해 대충 아는 만큼이라도
전달해보겠습니다.
그럼 먼저
선생님과 따라 쓴 코드부터 보겠습니다.
Servlet 대충 만드는 법
MyFirstWeb이라는 다이나믹 프로젝트를 만들었습니다.
src/main/java 폴더에
원하는 주소의 패키지를 생성했습니다.
패키지 이름을 우클릭 후 new를 눌러서
Servlet 파일을 선택합니다.
원하는 클래스 이름을 적고 next 누릅니다.
여기서 하단의 URL mappins: 밑의
/hi를 누르면 원하는 URL주소를 설정할 수 있습니다.
제 경우에 method로 init과 destroy를 추가 설정했습니다.
Finish를 누르면 생성됩니다.
그러면 뭔가 생깁니다.
method들과 URL주소가 보입니다.
@WebServlet("/hi")의 ""쌍따옴표 안에
/원하는 주소
를 적으면 원하는 주소로 바꿀 수 있습니다.
init 생성자에 첫 접속 시 실행될 콘솔 출력문구를 적어보았습니다.
잘됩니다.
doGet에는 유저가 접속될 때마다 실행될 콘솔 문구를 적었습니다.
F5를 눌러서 새로고침을 할 때마다 콘솔에 계속 찍힙니다.
첫 접속 시에만 실행되는 init은 다시 실행되지 않습니다.
destroy에 는 삭제 문구를 넣어보았습니다.
서버를 종료하자 종료문구가 출력됩니다.
결론
서블릿을 이용해 사용자와 서버를 잘 관리할 수 있습니다.
init은 최초에 한 번
doGet은 접속 시마다 실행됩니다.
destroy는 서버가 종료될 때 실행됩니다.
일단은 여기까지입니다.