[Java] 서블릿 개념~~()__-What is a servlet?-++

+ 서블릿 개념


1. 서블릿이란?

- 이해하기 쉽게 설명하면

컨트롤러(mvc에서와 같은)를 동작하게 만들어주는 자바 모듈이다.

* (스프링에서 디스패처 서블릿은 컨트롤러의 컨트롤러 같은 역할을 함)


2. 서블릿 등장배경

- 웹의 시대가 오면서 다양한 기능을 웹을 통해 제공 받고자 하는 니즈가 생겨났다.

그 때 사람들은 Java로 웹을 개발할 수 없을까? 라고 고민했다.

초창기의 Java는 웹개발을 염두해두고 만든 언어가 아니기 때문에 웹을 개발할 수가 없었다.

그래서 J2EE라는 것이 등장했다. 

쉽게 말해 웹을 개발할 수 있도록 업그래이드 된 자바의 기능들이라고 생각하면 된다.

이렇게 등장한 J2EE의 기술중에 한가지가 Servlet이고 그 외에도 JDBC등등이 있다.

J2EE를 통해 등장한 Servlet은 url주소를 맵핑하여 웹 브라우저에서 url주소로 자바의 클래스 파일을 호출 할수 있게 만들었고, 

이렇게 호출된 Servlet이라는 자바클래스는 자바로 짜여진 코드를 브라우저가 이해할수 있는 html로 변환하여 브라우저에게 전달해서 우리가 보는 웹화면이 되는 것이다. 


3. 서블릿 특징

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

- html을 사용하여 요청에 응답한다.

- Java Thread를 이용하여 동작한다.

- MVC 패턴에서 Controller로 이용된다.

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

- UDP보다 처리 속도가 느리다.

- HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다.

- doGet, doPost 이라는 메서드를 사용한다.


4. 서블릿 예제

- 아래 링크의 예제를 참고하면 서블릿의 역할을 더욱 이해하기 쉬울 것이다.

https://heekng.tistory.com/66


- 출처 

https://sgcomputer.tistory.com/226

https://admm.tistory.com/30

https://mangkyu.tistory.com/14

https://heekng.tistory.com/66

댓글

T O P