- 서블릿 클래스 상속 구조
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 |