IT 관련,,/Java관련 언어들

[웹/JSP]서블릿(servlet) 개념 및 기본 예제,,

IT깡패's 2018. 8. 16. 23:31
728x90
반응형
SMALL

 

기본 서블릿 프로그램 만들기

우선 서블릿을 이용해 기본적인 페이지를 확인할 수 있는 프로그램을 작성하기 위해 이클립스에서 서블릿클래스를 만들어보자~!

 

1. 이클립스에서 [File - New - Dynamin Web Project 선택]

 

2. [Project name]을 ServletEx02으로 입력하고 프로젝트 생성

 

3. 프로젝트 생성 후 [File - New - Servlet] 선택하여

   package를 second class를 helloServlet으로 지정하고 [Finish]

 

4. ServletEx02 프로젝트 내에 Java Resource - src 디렉토리에 first 패키지와 HelloServlet.java 서블릿 파일이 생성된 것을 확인할 수 있다.

 

- HelloServlet.java 다음과 같이 작성해보자!

 

package second;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=UTF-8");
		PrintWriter out = resp.getWriter();
		
		out.println("");
		out.println("");
		out.println("");
		out.println("");
		out.println("");
		out.println("");
		out.println("

HIHIHIHIHIHIHIHI

");
		out.println("

Second Servlet Program

");
		out.println("");
		out.println("");
	}
	
}

 

 

- 브라우저 결과창 화면에서는 저 body와 /body사이의 HIHIHIHIHIHIHIHI와 Second Servlet Program가 뜨는걸 확인할 수 있다.

- 서블릿은 클라이언트에(브라우저)의 요청에 응답하기 위해 HTML문서 형식을 제공해야 한다. response로부터 얻은 출력스트림 객체인 out의 print 

메소드를 이용해 23~28 라인처럼 HTML코드를 직접 작성해야 한다.

 

컨텍스트 패스, Context Path

위에서 작성한 서블릿을 확인하기 위해 접속한 URL은 다음과 같다.

보통 servlet url 주소를 사용하기보다는 jsp url주소를 사용하는 것이 좋다.

http://localhost:8080/ServletEx02/HelloServlet

 

서블릿 클래스 구성

서블릿 클래스는 클라이언트를 통해 서비스된다는 사용되는 목적에 따라 그 형태가 정형화된 모습을 보인다. javax.servlet.http 패키지에서 제공하는

HttpServlet 클래스를 상속받아 구현해야 하며, 브라우저를 통해 외부에서 실행되도록 하기 위해 접근 제한자를 public으로 지정해야 한다.

 

public class [서블릿 클래스명] extends HttpServlet {
 // 접근제한자는 반드시 public
 // HttpServlet 클래스를 상속
}

 

 

서블릿 동작 원리

톰캣이 구동되면 자바가상머신(JVM)이 구동되어 자바 문법을 따르는 서블릿을 처리할 수 있는 환경이 제공된다. 이러한 환경을 서블릿 컨테이너라고 부른다.

서블릿의 실행은 서블릿 컨테이너에 의해 이루어진다.

 

서블릿 컨테이너

웹서버와 서블릿 사이의 통신을 지원

서블릿의 생명주기를 관리

새로운 요처잉 들어올 때마다 자바 스레드를 생성해서 사용자의 요청을 처리

컨테이너는 선언적인 방법으로 보안관련 내용을 설정할 수 있다.

서블릿 라이프 사이클 

서블릿은 클라이언트의 첫 번째 요청인 경우 서블릿 클래스를 찾아 메모리에 객체를 생성한다. 인스턴스ㅇ화된 서블릿 객체는 메모리에 계속 남아 있게 되고

이후 서블릿이 호출되어도 서블릿 인스턴스가 다시 생성되지 않고 이미 로딩된 서블릿의 서비스를 받게된다.

 

여기까지 서블릿의 기초응용개념들과 예제들이었다~

서블릿을 오랜만에 봐서 조금 아리송한 부분이 있었음~ 서블릿도 jsp처럼 get방식, post방식의 클라이언트 요청을 받을 수 있는데, 서블릿 형태로 계속 

쓰기에는 약간 복잡한 형태이기 때문에 jsp로 get방식과 post방식의 클라이언트 요청을 받고 사용하는 것이 좋다!!

서블릿에 대한 내용들은 거의 다 아는데 개념들과 예제들을 더 복습하면 될 것 같다~

728x90
반응형
LIST