study/WebServer

1_ws_(Sevlet)

스파이크12 2020. 1. 9. 08:37

@Servlet

- 웹 서비스를 위한 자바 클래스

- 웹 프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송(응답)하는 

Servlet클래스의 구현 규칙을 지킨 자바 프로그래밍 기술

-> 자바로 구현된 ★CGI 라고함

@CGI(Common GateWay Interface)

별도로 제작된 웹 서버와 프로그램간의 교환 방식

HTML의 Get or Post 방법

@ 서블릿의 특징

★ 동적으로 작동하는 웹 애플리케이션

HTML을 사용하여 요청에 응답

java thread를 이용하여 동작

★★mvc패턴에서 controller로 이용

javax.servlet.http.HttpServlet 클래스를 상속받음

@아파치 톰캣(Apache Tomcat)

- 아파치 : 클라이언트요청이왔을때 응답하는 ★정적페이지 서버

- 톰캣 : 동적 웹을 만들기 위한 웹 컨테이너

정적 페이지를 제외한 요청에 대한 수신/응답하는 서버

1. 사용자가 URL(Uniform Resource Locator)을 클릭하면 HTTP request를 Servlet Container로 전송

2. Servlet Container는 HttpServletRequest, HttpServletResponse 두 객체 생성

3. 배포서술자(Deployment Descriptor) = web.xml 은 사용자가 요청한 URL을 분석하여 어느 서블렛에

요청할 것인지를 찾음

4. 해당 서블릿에서 init() 메소드를 먼저 호출 후 service() 메소드를 호출하여 클라이언트로부터

전송받은 방식인 GET.POST 여부에 따라 해당 메소드를 호출함

5. doGet() /doPost() 메소드는 동적 페이지를 생성 후

HttpServletResponse객체에 응답을 보냄

6. 응답이 끝나면 destroy() 메소드를 호출하여 request, response 객체 소멸

@Servlet Container

서블릿을 관리해주는 컨테이너

(서블릿 : 어떤 역할을 수행하는 정의서)

(서블릿 컨테이너 : 정의서를 보고 수행)