본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] 서블릿 기초

javax.servlet.http서블릿(Servlet)


 Server + Applet의 합성어. 서버에서 실행되는 Applet이란 의미


 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술


 서블릿은 자바 클래스 형태의 웹 애플리케이션을 말하는데, 브라우저를 통해 자바 클래스가 실행되도록 하기 위해 javax.servlet.http 패키지에서 제공하는 HttpServlet 클래스를 상속 받아 구현해야 함.


 서블릿도 다른 클래스들 처럼 자바 가상머신에서 동작해야 하므로 클래스 파일이 생성된다.

 

 JDK에는 웹 애플리케이션을 제작할 수 있는 클래스가 제공되지 않고 톰캣을 설치하면 웹 애플리케이션을 제작할 수 있는 HttpServlet 클래스가 제공된다.

 

서블릿의 장점
 동적인 콘텐츠를 가진 웹 페이지 구현에 사용
 HTTP 요청을 처리한다.
 Java 언어로 작성. HTML 출력을 위해 print 문장 사용
 메모리에 한 번 로드되고, 여러 번 호출 할 수 있다.
 세션 관리를 위한 API 제공.

 

서블릿 프로그램 작성하기

 프로젝트명(sample-project1)에서 오른쪽 버튼을 눌러 [new->Servlet]
 패키지명: “unit01”, 클래스명은 “AdditionServlet01”을 입력
 아래의 소스를 입력

package green;

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

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

/**
 * Servlet implementation class editionSurvlet01
 */
@WebServlet("/editionSurvlet01")
public class editionSurvlet01 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public editionSurvlet01() {
        super();
        // TODO Auto-generated constructor stub
    }t

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int num1 = 20;
		int num2 = 10;
		int add = num1 + num2;
		
		PrintWriter out = response.getWriter();
		out.println("<html><head><title>Addition</title></head>");
		out.println("<body>");
		out.println(num1 + " + " + num2 + " = " + add);
		out.println("</body>");
		out.println("</html>");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

아직 정확한 개념이 잡히지 않아서 어떤 설명을 달아야할지 모르겠지만 server에서 자료 처리 방식을 get방식과 post방식 두 가지가 있다는 걸 알았다.

get 방식 같은 경우는 해당 페이지 url에 정보를 저장하여 전달한다는 것을 알았다.

 

 

PrintWriter out = response.getWriter();
out.println("<html><head><title>Addition</title></head>");
out.println("<body>");
out.println(num1 + " + " + num2 + " = " + add);
out.println("</body>");
out.println("</html>");

 

부분에서 html 코드를 서버로 전송하여 웹페이지에 표시할 수 있다.

728x90
반응형