1. 자바 개발 플랫폼
- Java SE(Standard Edition)
- 데스크탑, 서버, 임베디드
- JDK(Java Development Kit)
- JVM(Jave Virtual Machine)과 컴파일러, 디버거, 어플개발 도구들 포함
- JRE + Tool, Tool API들
- JRE(Java Runtime Environment)
- JVM과 핵심적인 클래스들과 지원파일만 포함
- Java EE(Enterprise Edition)
- SE에서 웹 서버 역할 추가
- 컨테이너등을 표준화
- JSP, Servlet, EJB, JDBC, JNDI, JTA, EJB등등
- WAS(Web Application Server)
- JAVA EE 스펙에 따라 제품으로 구현
- 톰캣
- 오픈소스
- 아파치
- 제우스
- 한국제품
- 티맥스 소프트
- Java ME(Micro Edition)
- 모바일, 셋탑박스, PDA등
- 무선 사용 시 EE와 쉽게 통합 가능
- JVM을 경량화한 KVM, CardVM기술 지원
2. 웹의 자바기술
- Servlet
- java언어로 구현된 서버 프로그램
- 클라이언트가 웹브라우저를 통해 요청시 -> 서버에서 실행 -> 결과값을 클라이언트로 전달
- 여러 API를 통해 클라이언트 요청과 서버의 응답을 처리 가능
- Controller페이지 구현에 사용
- Controller
- View에서 받은 요청을 처리하는 페이지
- JSP
- 서블릿과 같은 기능
- 차이점
- HTML안에서 코드로 구현 가능
- 이는 서블릿처럼 java코드로 변환되어 들어감(나중에 JSP정리할 때 자세하게 기술)
- 내부적으로 구현해주는 코드로 인해, 변수 선언 및 초기화 작업 없이 바로 실행할 수 있음 -> 코드의 간결화
- View 페이지 구현에 사용
- View
- 클라이언트가 보는 화면
- 클라이언트로부터 요청받는 화면
- 서버의 결과를 보여주는 페이지
3. 컨테이너
- 서블릿 컨테이터
- 서블릿을 실행하기 위한 환경 구성
- 자바
- 웹서버
- 서블릿 컨테이너
- 클라이언트의 요청에 따라 서블릿을 수행
- 서블릿 엔진이라고도 함
- 버전에 따라 API가 달라질 수는 있음
- JSP 컨테이너
- JSP를 서블릿으로 변환함
- 서블릿으로 구현됨
- JSP 실행하기 위한 환경 구성
- 자바
- 웹서버
- 서블릿 컨테이너
- JSP 컨테이너
4. HTTP
- HTTP(Hyper Text Transfer Protocol)
- Application Layer에 해당하는 프로토콜
- Transport Layer에서 TCP를 사용하여 웹 브라우저와 웹 서버간에 통신하는 프로토콜
- 클라이언트가 웹서버로 요청->웹서버가 클라이언트에게 응답정보 전달
- HTTP 특징
- 무연결(connectionless)
- 연결을 유지하지 않음
- 요청단위로 작업
- 이전 요청과는 상관없이 작업
- 따라서 요청단위로 새로운 연결을 처리해야함
- 무상태(stateless)
- 상태정보가 유지되지 않음
- 연결단위로 처리하기 때문
- 만약 이전 요청의 값을 사용하고 싶을 때
- 서버나 클라이언트 측에 정보 저장
- 요청 응답(request, response)
- request-reply라고도 함
- HTTP 요청정보
- 헤더 구성
- Request-Line
- 첫번째 줄
- Method
- GET
- header에 포함되어 전달
- cache가능
- ?뒤에 정보 전달 가능
- 하지만 header길이가 한정되어 있어 전달 문자열의 크기 제한이 있음
- 조회 서비스에 많이 사용
- POST
- body에 포함되어 전달
- 클라이언트쪽에서 인코딩, 서버측에서 디코딩하므로 GET보단 느림
- 회원가입 요청 서비스에 많이 사용
- PUT
- 파일 업로드에 많이 사용
- 일반적으로 서버의 리소스를 수정할때 많이 사용
- 회원 정보 수정 요청 서비스에 많이 사용
- DELETE
- 서버의 리소스를 삭제
- 회원 삭제 서비스에 많이 사용
- URI(Uniform Resource Identifier)
- http://1.2.3.4:8080/user/index.html이란 주소가 있다면, 포트번호 다음인 /user/index.html이 URI이다
- HTTP Version
- 요청 시 사용한 http 버전 정보
- 공백행
- name : content
- HTTP 응답 정보
- HTTP버전
- 상태코드
- 200이 성공
- 나머지는 에러코드
- 상태코드 설명
'교육 > Servlet&JSP' 카테고리의 다른 글
[JSP] 태그 (0) | 2018.01.21 |
---|---|
[Servlet] 필터,리스너, 에러처리 (0) | 2018.01.21 |
[Servlet]상태정보 유지 (0) | 2018.01.21 |
[Servlet] 중요 파일들 의미와 위치 (0) | 2018.01.21 |
[Servlet&JSP] 개발 환경 구축 (0) | 2018.01.21 |