Spring Framework/Servlet 5

[Servlet] 5. Cookie & Session

Cookie & Session 개요1. HTTP 통신(1) HTTP 통신 방법- HTTP: 서버, 클라이언트 간의 요청과 응답으로 데이터를 주고받는 형식- 서버는 클라이언트의 요청에 응답을 완료하면 연결을 끊는다. 즉, 한 번의 요청, 응답이 끝나면 연결을 끊는다.(stateless)  -> 클라이언트는 요청을 또 보내고 싶으면 새로 연결해야 한다. (2) HTTP 통신의 특징1) 무연결- HTTP는 요청할 때 잠깐, 응답할 때 잠깐만 연결하는 무연결의 특징을 갖는다.- 기본적으로 HTTP는 TCP 프로토콜(=연결지향 프로토콜로 요청 시 서버가 수락해야 송수신 가능)에   특화 기능을 추가해서 사용하는 것이다.2) 무상태- 서블릿 컨테이너 내에는 여러 개의 서블릿이 있는데,   각각의 서블릿에서 상태값(..

[Servlet] 4. Forward와 Redirect

Forward1. foward()의 역할- 컨테이너 내에서 처음 요청 받은 페이지가 요청 데이터(HttpServletRequest, HttpServletResponse)를 다른 페이지에 전송하여 처리를 요청하고, 자신이 처리한 것처럼 응답한다.- 클라이언트가 요청한 url주소(페이지)가 변경되지 않는다. 2. forward()의 구조1) 서버(톰캣)를 실행하면 내부 서블릿 컨테이너에 작성한 서블릿이 다 올라가고, doGet, doPost 등 매핑된 url로 연결된다.2) HTTP에 의한 요청을 전달하면 헤더의 문자열을 파싱해서 헤더, 데이터, 응답 대상 브라우저 등을 request와 response 객체로 쪼개어 doGet()/doPost() 메소드로 보낸다.3) 이 때 요청받은 서블릿에서 다른 서블릿으..

[Servlet] 3. Servlet Method

Servlet Method 1. HTTP 데이터 전송 방식(1) 데이터 전송 구조1. 브라우저에서 요청 정보를 HTTP 객체에 담아 전송한다.- 요청과 응답을 주고받는 패킷은, 요청 정보와 응답 정보를 직렬화한 byte 단위의 문자열 데이터로, 인코딩과 디코딩이 필요하다.2. 전달받은 HTTP 객체를 서버(Tomcat)가 해석하여 요청을 처리할 서블릿을 호출하고, 서블릿의 service() 메소드에서는 req, res 요청 정보를 가지고 처리 로직을 거쳐 응답한다.- service() 메소드는 ServletRequest와 ServletResponse 객체를 매개변수로 받고,  실제로는 HttpServletRequest와 HttpServiceResponse(HTTP 응답 생성) 객체가 전달된다. - Htt..

[Servlet] 2. Servlet LifeCycle

Servlet 개요1. Servlet이란?: Java를 이용하여 사용자의 요청을 받아 처리하고 처리 결과를 다시 사용자에게 전송하는 역할의 Class 파일- 즉, 웹에서 동적인 페이지를 Java로 구현한 서버 측 프로그램이라 볼 수 있다.Servlet의 동작 구조1. Servlet의 동작 구조 2. Servlet Container- 웹 서버 또는 응용 프로그램 서버의 일부로, 웹 서버에서 온 요청을 받아 Servlet class를 관리하는 역할(= 생명 주기 관리)을 한다.- Servlet을 포함하고 있는 container이다.- Servlet에 대한 container 설정은 Deployment Description(web.xml)(= DD) 파일을 이용한다.- 작성한 servlet class를 보관하고..

[Servlet] 1. Servlet 개요

네트워크 통신1. Server-Client 모델- 서버: 특정 서비스를 제공하는 컴퓨터- 클라이언트: 해당 서비스를 이용하는 사용자 2. Server의 종류종류설명Web Server웹 브라우저와 HTTP 프로토콜을 사용하여 사용자의 요구에 따른 특정 서비스를 제공하는 서버Mail Server인터넷을 통해 사용자 간의 전자 우편을 주고 받는 서비스 제공FTP Server서버 내에 파일을 업로드, 다운로드 할 수 있도록 파일 관리 기능 제공Talnet ServerTerminal, 텍스트로만 이루어진 창에서 특정 명령어를 통해 원격지 서버를 접속 및 관리Database Server데이터를 저장하고, 원격지에 접속할 경우 권한에 따라 해당 데이터를 열람, 추가, 수정, 삭제하는 기능 처리Web 통신1. Web ..