[ Servlet ]
1. 웹 서비스
hteml/css/js -> 웹 페이지
: 사용자가 서버로 요청을 보내면 찾아서 사용자에게 응답
1) 정적 서비스 : 요청 할 때마다 항상 동일한 결과(웹 서버 : HTML/CSS/JS/이미지)
Apache HTTP Server / Nginx
2) 동적 서비스 : 요청에 따라 다른 결과를 나타내는 것(WAS : 로직 실행, DB와 연동 동적인 결과 생성)
Apache Tomcat, JBoss, WebLogic...
2. Servlet Container
- 배포를 위한 포트 연결
- 웹 서버 통신을 위한 소켓, IO스트림 생성해주는 역할을 함
- Apche Tomcat에서는 8080으로 포트번호 기본 지정
3. IO 스트림 생성
-> HttpServletRequest : 요청 / HttpServletResponse : 응답
4. Servlet이란?
웹 서비스를 위한 자바 클래스
(자바를 이용하여 웹을 만들기 위해 필요한 기술)
- 서블릿을 관리해 주는 것 : 서블릿 컨테이너(= WAS ; 아파치 톰캣)
5. 특징
- 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트
: 클라이언트 요청에 대한 서버 응답 시 미리 만들어둔 화면(정적)이 아닌,
요청을 받을 때 마다 알맞은 화면을 만들어(동적) 응답함
- HTML을 사용하여 요청에 응답
- MVS Model2패턴에서 Controller로 이용
- http프로토콜 서비스를 지원하는 jakarta.servlet.http.HttpServlet 클래스를 상속 받음
6. 서블릿 상속 관계
- jakarta.servlet.http.HttpServlet를 상속 받아 메소드를 구현해야 함.
7. Get과 Post의 차이
Get : 요청한 주소가 주소창에 노출
-> 게시판 조회, 뉴스 기사 조회
Post : 주소창에 노출하지 않고 HTTP Body에 포함하여 전송
-> 회원가입, 로그인 .. (클라이언트가 요청 시 데이터를 꼭 필수로 전달해야 하는 경우)
[ Server : Apache Tomcat ]
1. 아파치 톰캣(Apache Tomcat)
Java로 웹 애플리케이션을 만들기 위해
JSP(Java Server Page)나 서블릿(Servlet)을 사용해
서버와 통신하기 위해서는 서거바 구축이 되어 있어야 함
-> 이 때 우리가 사용할 서버가 아파치 톰캣