멀리 보는 연습

Servlet_개념 정리 본문

Study/JSP&Servlet

Servlet_개념 정리

푸실리 2021. 7. 11. 11:09

Servlet, 서블릿이란?

Server와 Applet의 합성어로, 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램이다. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술인데, 쉽게 말하면 웹을 만들기 위해 자바를 사용할 때 필요한 기술이라고 생각하면 된다.

 

우리가 흔히 로그인을 할 때, 아이디와 비밀번호를 입력하고 로그인 버튼을 누르는데, 이때 서버는 요청자의 아이디, 비밀번호를 확인 후 다음 페이지를 띄워준다. 띄워주는 것이 바로 서블릿(Servlet)!

 

웹 어플리케이션을 제작하기 위해 제공되는 언어는 많지만, 요즘 많은 기업에서는 JSP&Servlet을 이용하고 있다. 그 이유는 다른 언어에 비해 응답 속도가 빠르기 때문. 

 

 

서블릿의 특징

1. HTML 변경 시, 서블릿을 재컴파일 해야한다는 단점이 존재한다.

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

3. JAVA Thread를 이용하여 동작한다.

4. HTML을 사용하여 요청에 응답한다. 

 

일반적으로 웹서버는 정적인 페이지만을 제공한다. 따라서 동적인 페이지를 제공하기 위해서 웹서버는 다른 곳에 도움을 요청하여 동적인 페이지를 작성해야 한다. 이 때, 웹 서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이다. 

 

서블릿 또한 자바 프로그램의 다른 클래스들처럼 자바 가상머신인 JVM에서 동작해야 하므로, Class 파일이 생성되어야 한다. 그래서 Class 형태로 작성한다. JDK에서는 웹 어플리케이션을 제작할 수 있는 클래스가 제공되지 않고, 톰캣을 설치하고 나면 웹 어플리케이션을 제작할 수 있는 클래스가 제공되는데, 그 클래스가 바로 HttpServlet이다. 

 

HttpServlet을 상속받은 클래스를 서블릿이라고 하는데, 이미 여러 기능이 만들어져 있기 때문에 개발자는 편리하게 웹 프로그램을 만들 수 있다. 

 

get과 post?

Servlet 클래스에서 클라이언트는 서버에 get과 post 두 가지 방식 중 하나로 요청을 한다. get 방식은 주소 창을 타고 넘어가기 때문에, 서버로 보내는 데이터를 사용자가 그대로 볼 수 있다. 그래서 보안에 취약하다는 단점이 존재한다. 255자 이하의 적은 양의 데이터를 전송한다. post 방식은 HTML header를 타고 넘어가기 때문에 보안에 강한 장점이 있고, 255자 이상의 대용량 데이터를 전송한다.

 

 

 

 

해당 수업 및 예제는 스마트인재개발원에서 진행되었습니다.

www.smhrd.or.kr

Comments