1. 서블릿이란?
1) 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스
2. 서블릿 특징
1) 서버 쪽에서 실행되면서 기능을 수행함.
2) 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러 기능 제공함.
3) 스레드 방식으로 실행됨.
4) 자바로 만들어져 객체 지향 특성 가짐.
5) 켄테이너에서 실행
6) 웹 브라우저에서 요청 시 기능을 수행.
3. 서블릿 API 기능
1) GenericServlet 추상클래스 : Servlet, ServletConfig 인터페이스를 구현함.
2) GenericServlet : 여러 통신 프로토콜에 대한 서블릿 기능을 구현함.
3) HttpServlet : GenericServlet 추상클래스를 상속 받음.
HTTP 프로토콜을 사용하는 서블릿 기능을 수행함.
- protected void doGet(HttpServletRequest req, HttpServletResponse resp)
- 서블릿이 GET request를 수행하기 위해 호출됨.
4. 서블릿 Lift Cycle 메서드
1) init() 초기화 - 서블릿 요청 시 맨 처음 한번만 호출됨. 초기화 작업 수행.
2) doGet() 작업수행 - 서블릿 요청 시 매번 호출됨.
doPost() 실제로 클라이언트가 요청하는 작업을 수행함.
3) destroy() 종료 - 메모리에서 소멸될 때 호출됨. 마무리 작업을 주로 수행.
=> init()와 destroy() 메서드는 생략가능, doXXX() 메서드는 반드시 구현해야 함.
5. 서블릿 매핑하기
1) http://localhost:8080/chap02_Serviet/first
주소 포트번호 프로젝트명 패키지명이 포함된 클래스명
- 클래스 이름이 길어지면 불편함
- 클래스 이름이 사용되면 보안에도 좋지 않음
=> 서블릿 클래스에 대응하는 서블릿 매핑 이름으로 요청함(web.xml)
2) 브라우저에서 서블릿 요청하기
- http://IP주소:포트번호/프로젝트이름(컨텍스트이름)/서블릿매핑이름
3) 다수의 서블릿 매핑하기
- 일반적인 웹 애플리케이션은 각 기능에 대한 서블릿을 따로 만들어서 서비스를 제공함.
6. 애너테이션(annotation)을 이용한 서블릿 매핑
1) web.xml에 여러 서블릿 매핑 설정시 복잡해짐.
2) 가독성이 좋아짐.
3) @WebServlet을 이용해서 서블릿 매핑을 구현.
4) 애너테이션으로 설정한 매피명을 다른 매핑명과 중복되면 안됨.
7. HTTP 요청과 응답
1) HttpServletRequest의 메서드
getRequestURI()
--------------------------
- http://localhost:8080/chap02_Serviet/requestInfo?year=2021&month=11&day=23
getScheme()
getServerName()
getServerPort()
getContextPath()
getServletPath()
getQueryString()
-------------------------------------------------
getRequestURL()
'Web > JSP' 카테고리의 다른 글
JSP(6) - 회원정보등록, 삭제하기 (0) | 2022.01.28 |
---|---|
JSP(5) - JDBC연동과 관련객체 (0) | 2022.01.28 |
JSP(4) - 서블릿 비즈니스 로직 추가 (0) | 2022.01.28 |
JSP(3) - 서블릿 (0) | 2022.01.28 |
JSP(1) - 웹프로그래밍 소개 (0) | 2022.01.28 |
댓글