본문 바로가기

웹개발/JSP

서블릿에 대해, 서블릿 작성규칙, 서블릿 클래스 상속 구조

- 서블릿 클래스 상속 구조

Servlet(인터페이스) > GenericServlet(추상클래스) > HttpServlet(클래스) > 서블릿 클래스

 

웹 컨테이너(tomcat) 에서는 내가 작성한 servlet 클래스의 instance를 만들어 그 서블릿 객체를 초기화 작업을 함(init() 메소드)

웹 서버 엔진(tomcat)에서 main()이 작동하기 때문에 main() 메소드가 없어도 동작함.

 

 

Servlet 

- Servlet interface를 implements 하여 생성한 자바 클래스

- 서블릿 엔진에 의해 동작을 하며 여러사용자에 의해 호출 될 수 있음(multi-thread)

- 서블릿의 인스턴스는 재활용이 가능(한버만 생성되면 됨)

 

Servlet 작성 규칙

- javax.servlet.http.HttpServlet 클래스를 상속해야함

- doGet 또는 doPost 메소드 안에 클라이언트의 요청이 왔을 때 처리해야 할 일들을 기술

- HTML 문서를 출력하는데 있어서, doGet이나 doPost 메소드의 두번째 인자(response)를 이용

        - doGet : html <form> 태그에서 method=get일 때 호출, URL 주소창에서 servlet url을 입력했을 때도 호출

        - doPost : html <form> 태그에서 method=post일 때 호출

 

- 서블릿 예제 코드

더보기
package com.lec.servlet;

import java.io.IOException;
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 ServletDemo
 */
@WebServlet("/Sev")
public class ServletDemo extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletDemo() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @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);
	}

}

 

 

'웹개발 > JSP' 카테고리의 다른 글

태그, 지시자  (0) 2021.10.18
톰캣에서의 한글 처리 문제  (0) 2021.10.18
Form 태그를 이용한 서블릿 처리  (0) 2021.10.18
서블릿 vs. JSP  (0) 2021.10.17
web.xml 역할  (0) 2021.10.17