coyojo10의 개발블로그!
[자바 백엔드 멀티캠퍼스] 수업 리뷰 - Servlet 정리 본문
💡 실행방법에 따른 자바 클래스의 구분
- Application(main메서드)
- Applet
- Servlet
💡 Servlet
- 클라이언트의 요청을 처리하기 위한 기술
- 서버에서 클라이언트의 요청을 처리하고 응답할 수 있도록 만들어진 객체
- 클라이언트가 요청을 하면 서버에서 실행되면서 DB에 대한 처리 후 서버에서 만들어진 결과를 클라이언트에 응답
- 클라이언트가 요청하면 서버가 자동으로 요청한 서블릿을 찾아 실행
- 자동으로 실행하기 위해 서버가 인식하는 위치에 있어야 한다.
- 서버가 인식하는 위치 = 서블릿 디렉토리( 표준화된 폴더 구조의 classes 폴더)
- 서버를 구성하는 많은 클래스내부에서 우리가 만든 서블릿 객체가 실행되도록 하기 위해서는 서버가 인식 할 수 있는 규칙에 맞게 클래스를 작성해야 한다.
💡 Servlet 작성 규칙
- 표준화된 폴더 구조 안에 서블릿 클래스가 위치해야 한다. 서블릿이 저장될 폴더 -> classes
1) 표준화된 폴더 구조
2. 서버에 의해서 호출될 것이므로 반드시 public 클래스로 작성해야 한다.
3. 서블릿 클래스가 되기 위해서 서블릿 클래스를 상속받아야 한다.
servlet은 application 처럼 main 메서드는 필요없다.
4. 서버가 호출할 메소드를 오버라이딩 해야 한다.
- 서버가 자동으로 호출하는 메소드를 callback 메소드라고 한다
- 클라이언트가 요청을 하면 서버가 요청을 분석해서 서블릿 디렉토리에 존재하는
서블릿 클래스를 찾아 적절한 상황에 해당 메소드를 자동으로 호출한다.
따라서 상황에 맞게 적절하게 처리하고 싶은 내용이 있다면 각각의 메소드를 오버
라이딩해서 내용을 정의해야 한다.
- 서블릿의 LifeCycle을 서버가 관리
서블릿의 LifeCycle은 ? 객체가 생성되고 생성된 객체를 사용하고 객체를 메모리에서 해제하는 모든 작업
Servlet (Servlet 4.0 API Documentation - Apache Tomcat 9.0.74) 참고!
Servlet 인터페이스가 가지고 있는 메서드
서블릿의 생명주기와 관련된 메서드: init(), service(), destroy()
- 서블릿의 생성과 실행, 소멸, 즉 생명주기와 관련된 메서드
Servlet 인터페이스 기타 메서드: getServletConfig(), getServletInfo()
- 서블릿 정보를 추출할 필요가 있을 때 호출하는 보조 메서드
'백엔드' 카테고리의 다른 글
자바 기술 면접 정리 (0) | 2023.05.09 |
---|---|
[자바 백엔드 멀티캠퍼스] - Servlet 정리 2 (0) | 2023.04.24 |
Junit을 통한 단위 테스트 정리 (0) | 2023.04.20 |
[개인 프로젝트] 앨범 목록 불러오기 API 만들기 (0) | 2023.04.20 |
[개인 프로젝트] Domain Entity 생성 정리 - 양뱡향 연관관계 (0) | 2023.04.10 |