본문 바로가기
괴발개발/java

Servlet -1 이론

by 맛길만걷자 2024. 6. 24.
728x90
반응형

Servlet이란?

- 웹 서비스를 이용한 자바 클래스(자바를 이용하여 웹을 만들기 위해 필요한 기술)

- 웹 프로그래밍에서 클라인언트의 요청(Request)을 처리하고 그 결과를 다시 클라이언트에게 응답(Response)하는 
Servlet클래스의 구현 규칙을 지킨 자바 프로그래밍 기술

 

ex) 사용자가 로그인을 하려고 할 때 아이디와 비밀번호를 입력하고 로그인 버튼을 누르면 서버는 아이디와 비밀번호를 확인하고 다음 페이지를 띄워주는 역할 수행

=> 그래서 서블릿은 자바로 구현된 **CGI라고 함

 

**Q) CGI(Common Gateway Interface)란?

CGI는 특별한 라이브러리나 도구를 의미하는 것이 아닌, 별도로 제작된 웹 서버와 프로그램간의 교환 방식.

CGI방식은 어떠한 프로그래밍언어로도 구현이 가능하며, 별도로 만들어 놓은 프로그램에 HTML의 Get 또는 Post 방법으로 클라이언트의 데이터를 환경변수로 전달하고, 프로그램의 표준 출력 결과를 클라이언트에게 전송하는 것.

 

서블릿 특징

클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트

-> 클라이언트 요청에 대한 서버 응답 시 미리 만들어두 화면(정적)이 아닌 요청을 받을 때 마다 알맞은 화면을 만들어(동적)응답함

 

- HTML을 사용하여 요청에 응답

- java thread를 이용하여 동작. (요청마다 별도 thread가 생성됨)

- MVC Model2패턴에서 Controller로 이용

- http프로토콜 서비스를 지원하는javax.servlet.http.HttpServlet 클래스를 상속 받음

 

* 서블릿 단점

- servlet에 작성한 html 코드 변경 시 재컴파일 해야 하는 단점이 있음


* 서블릿 상속 관계

- 서블릿 코드를 작성할 클래스는 반드시 javax.servlet.http.HttpServlet 클래스를 상속 받아 메소드를 구현해야 함.

- 서블릿 상속 관계도

javax.servlet.Servlet 인터페이스
ㄴ javax.servlet.GenericServlet 추상클래스

ㄴ javax.servlet.http.HttpServlet 클래스

728x90
반응형

'괴발개발 > java' 카테고리의 다른 글

Lombok 라이브러리  (0) 2024.06.28
EL(Expression Laguage)  (0) 2024.06.26
컬렉션(Collection)  (0) 2024.05.08
다형성  (1) 2024.05.01
객체 지향 프로그래밍 OPP  (0) 2024.04.25