본문으로 바로가기
반응형

 

 

 

Servlet 이란?

 

자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램

혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다



쉽게 말해, 이전 포스팅에서 다뤘던 JSP(Java Server Pages)

HTML 코드 안에 자바 언어를 삽입한 구조이고

 

Servlet자바코드안에 HTML 코드가 들어간 구조라고 생각해도 된다.

 

 

 

 

표로 비교하면 아래와 같다

 

 

 

 

 


 

 

● 서블릿 동작 구조

 

 

 

 

서블릿의 동작 구조는 아래와 같다

 

 - 클라이언트(사용자)가 웹 서버에 어떤요청(ex, 회원가입 정보 입력 후 전송)을 보낸다.

   이에 웹 서버는 자체적으로 해결할 수 없는 문제라면(DB 접근이 필요하기 때문)

   처리를 위해 서블릿 컨테이너에게 전달해준다.

 

   이에 서블릿 컨테이너는 클라이언트의 요청에 맞게끔 로직을 처리하고(ex. 회원가입 정보 저장)

   웹서버를 걸쳐 클라이언트에게 응답(ex. 정상적인 회원가입 완료)을 보내준다.

 

 

 

 

 

 

여기서 서블릿 컨테이너란,,

 

웹 서버 또는 응용 프로그램 서버의 일부로,
웹 서버에서 온 요청을 받아 서블릿 class를 관리하는 역할(생명주기)을 한다.
컨테이너의 서블릿에 대한 설정은 Deployment Descriptor(web.xml)파일 이용

 

 

 

 

 

 

 

 

 


 

● 서블릿(Servlet) 작성법 

 

 

 

 

 

 

1. Web project 생성

 

Project Explorer에서 마우스 우클릭 후

new -> Dynamic Web Project 클릭

 

 

 

 

 

 

 

 

 

프로젝트 이름을 정해주고, Finish

 

 

 

 

 

 

 

 

이러한 형태로 웹 프로젝트가 생성된 것을 볼 수 있다.

 

 

 

 

 

 

 

 

 

 

2. Servlet 생성

 

 

 

프로젝트 안에 src폴더 우클릭 후

Servlet 클릭

 

 

 

 

 

 

 

 

 

 

패키지명과 클래스명을 입력해준 후 next

 

 

 

 

 

 

 

 

 

 

URL mapping 부분을 원하는 url로 설정

 

생성된 페이지를 접근하는 방법이다.

 

예를 들어 로그인 화면의 url mapping을 /login으로 해주면

/login 주소로 접근할 수 있다.

 

 

그리고 finish

 

 

 

 

 

 

 

 

servlet이 작성된 것을 볼 수 있다.

 

 

 

 

 


 

 

○ Servlet 예제

 

 

 

 

예제를 통해 Servlet 작성법을 알아보자.

 

 

위에서 생성한 HelloServlet에 있는

doGet 메소드 내에 아래와 같은 코드를 입력

 

 

 

 

HelloServlet.java

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

PrintWriter out = response.getWriter();
out.print("<html>");
out.print("<head>");
out.print("</head>");
out.print("<body>");
out.print("Hello Servlet~");
out.print("</body>");
out.print("</html>");

 

 

서버를 실행시켜보면..

 

 

 

 

 

 

 

 

정상적으로 출력이 된 것을 볼 수 있다.

반응형