본문 바로가기
공부/web

서블릿(Servlet)이란?

by 밍미 2018. 4. 26.
서블릿(Servlet).md

서블릿(Servlet)

JSP 표준을 사용하기 이전에 동적인 웹페이지를 만들려면 Java를 이용해 일일이 태그를 만들어서 서버로 전송해야 했다. 서버에서 클라이언트에 Java 코드를 이용해 태그를 만들어서 보내는 방식이었다.

이 작업은 네트워크 연결부터 각종 객체의 생성 등 해야 할 일이 너무 많아 개발자가 혼자 작업하려면 너무 많은 시간이 걸리기 때문에, 클래스를 따로 만들어 대부분의 내부적인 처리는 이 클래스가 맡고 나머지를 개발자가 채우는 방식으로 개발했다.

 

일반적인 서블릿의 개발 과정

  1. 서블릿 규약에 따라 자바코드를 작성한다.
  2. 자바코드를 컴파일해 클래스 파일을 생성한다.
  3. /WEB-INF/classes 폴더에 클래스파일을 패키지에 맞게 위치시킨다. (보통 자동으로 생성됨)
  4. web.xml 파일에 서블릿 클래스를 설정한다.
  5. 톰캣 등의 컨테이너를 실행한다.
  6. 웹 브라우저에서 확인한다.

 

주의사항

  • 서블릿 클래스는 디폴트 패키지에 위치시킬 수 없다. 반드시 패키지 내에 기본 패키지를 생성하고, 그 안에 서블릿 클래스를 두어야 한다.
  • 꼭 HttpServlet 클래스를 상속받고, doGet 메소드와 doPost 메소드를 오버라이딩 해야 한다.
  • 서블릿에 접근할 수 있도록 매핑 정보를 꼭 등록해야 한다.

 

매핑방법

  • web.xml로 매핑하기
 

 

  • @WebServlet애노테이션으로 매핑하기
 

 

참고)

web.xml과 애노테이션 모두에서 매핑을 하면, web.xml 파일에서 지정한 클래스의 객체가 생성되고 애노테이션이 적용된 클래스의 객체가 생성되어 각각의 URL 패턴에 모두 매핑된다.

 

URL 패턴 매핑 규칙

  • '/'로 시작하고 '/*'로 끝나는 url-pattern은 경로 매핑을 위해서 사용한다.
  • '*.'로 시작하는 url-pattern은 확장자에 대한 매핑을 할 때 사용한다.
  • '/'만 포함하는 경우 어플리케이션 기본 서블릿으로 매핑한다.
  • 이 규칙 외의 나머지 다른 문자열은 정확한 매핑을 위해서 사용한다.

 

 


참고) 최범균 저. 최범균의 JSP 2.3 웹 프로그래밍 기초부터 중급까지. 2015.


댓글