Servlet의 Request(요청)과 Response(응답)
서블릿이 웹상에서 HTTP 프로토콜을 이용해 서비스를 처리하기 위해서
1. public으로 선언
2. HttpServelet을 상속(모든 서블릿의 상위 클래스)
HttpServlet을 상속받으면 doGet과 doPost메소드를 구현 가능하다.
서블릿으로 만들어지는 페이지 호출방법
http://localhost:포트/edu/서블릿파일명 로 접속
해당 웹 애플리케이션 경로를 '컨텍스트 패스'라고 한다. (웹서버에서 제공하는 웹 애플리케이션을 구분하기 위해 사용)
톰캣에 등록 필요(server.xml)
HttpServletRequest request - 요청 처리를 위한 객체
HttpServletResponse response - 응답 처리를 위한 객체
서블릿 클래스 요청을 위한 URL 매핑을 쉽게 처리하기 위한 어노테이션 작성 방법
- web.xml에 작성(src/main/webapp/WEB-INF/web.xml)
1. 서블릿 등록
<servlet-name>해당 클래스파일을 FirstServlet으로 등록(클라이언트에서 FirstServlet요청이 오면 해당 클래스파일을 전송
<servlet-class>//해당 클래스파일
2. 클라이언트의 요청
<servlet-mapping>
<servlet-name> 서버에게 FirstServlet 이 있는지 요청한다.
<url-pattern> 클라이언트에서 /FirstServlet 이라는 요청확인
서블릿의 사이클
1. Instance 생성 (서블릿 객체 생성)
2. Init () (최초 한번만 호출)
3. doGet() 혹은 doPost() (요청이 있을 떄 마다 호출)
4. destroy() 톰캣 해제시 (자원해제시) 실행
HttpServletRequest
클라이언트에서 웹서버로 서블릿을 수행 요청할 때는 HTTP 프로토콜의 요청 규약을 사용
(다양한 요청 정보들을 전달)
• 클라이언트 IP주소, 포트번호 • 클라이언트가 전송한 요청 헤더정보 (클라이언트에서 처리 가능한 문서 타입의 종류, 클라이언트 프로그램 정보, 처리 가능한 문자셋 정보, 쿠키)
• 요청방식,요청 프로토콜의 종류와 버전, 요청하는 파일의 URI, 요청 받은 서버의 정보
• 서버의 호트스 이름, 포트 번호
• 사용자가 서블릿 요청 시 추가로 전달한 정보
• 질의 문자열(name=value 형태)
HttpServletRequest 인터페이스의 get~() 메소드를 통해 원하는 정보 추출할 수 있다.