SlideShare a Scribd company logo
Servlets & JSP
1장
What is Server
A. 클라이언트는 요청하고, 서버는 제공한다.
What is Client
사용자가 웹 페이지의 링크를 클릭
요청으로 만들어서 서버로 넘
김
서버는 데이터를 찾은 후 응답으로 만들어서 넘김
브라우저는 넘겨받은 값을 사용자가 확인할 수 있게 화면에 출력함
HTML & HTTP
• HTML : 브라우저가 화면에 어떻게 컨텐츠를 출력할
지 알려주는 프로토콜(hyper text markup language)
• HTTP : 클라이언트와 서버가 대화하는 언어. 웹상의
요청은 거의 대 부분 HTTP 프로토콜에 기초하여 이
루어짐(hypertext transfer protocol)
HTML…?
• 알고 있는 거니까 넘어갑시다. 주석, <a>, <br> 등의
태그들이 존재합니다.
HTTP
• 요청/응답의 끊임없는 주고 받음.
• HTTP 요청/응답 안에 HTML이 포함되어 있음.
GET/POST
• 가장 많이 사용되는 두 가지 요청
• GET : 서버에게 클릭한 페이지를 달라고 요청하는 것
- 단순한 요청에 사용됨
• POST : 사용자가 입력한 값을 함께 보내는 것 - 사용
자가 입력한 값을 함께 넘겨주어야 할 때 사용
GET
• GET 으로도 데이터를 보낼 수 있으나, 폼에 다 보이
고 글자 수가 제한이 있음.
POST
• 복잡한 요청을 넘기기 위한 프로토콜
Response From Server
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Oct 2014 07:48:09 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Encoding: gzip
URI
• 서버에 자원을 요청하는 주소. 웹서버에 이 주소로 요
청하면 해당하는 위치에 있는 리소스가 날아오게 됨
동적 페이지 vs 정적 페
이지
• 위와 같은 세팅에서는 *이미 존재하는* 리소스만 넘
겨줄 수 있음.
• Q. 동적으로 컨텐츠를 만들어서 전송하는 것은?(현
재 시간, 주사위의 눈의 수…)
• 서버 상에 데이터를 저장하고 싶을 때는?
CGI
매핑되어 있는 주소로 요청이 들어옴
요청을 확인한 서버가 도우미 어플리케이션 호출
CGI(도우미 어플리케이션)은 페이지를 만들어서 서버에 넘겨줌
서버는 클라이언트에게 응답함
톰캣 설치
• 톰캣을 설치해보자
• http://blog.naver.com/piro37/220052701416
• 톰켓은 JSP/Servlet 컨테이너 중 하나로 사용자에게
jsp 요청을 받으면 서블릿으로 이를 변환해서 실행.
• 톰켓 자체에 간단한 웹서버가 내장되어 있음.
서블릿 실습
• http://dkatlf900.tistory.com/68
서블릿 이론
• CGI는 동적인 웹 어플리케이션 기술로 서블릿보다
먼저 만들어짐
• 자바로 작성된 코드. JVM 위에서 돌아가기 때문에 하
드웨어랑 소프트웨어로부터 자유로움
• 클라이언트에서 받은 요청을 웹 컨테이너(톰켓)으로
보내게 됨.
처리과정
웹 브라우저에서 서버로 helloServlet을 요청
요청받은 웹서버는 서블릿 컨테이너에게 HelloServlet 처리 요청
서블릿 컨테이너는 HelloServlet을 찾고 실행
HelloServlet은 처리결과를 웹서버로 주고, 웹서버는 이걸로 응답
DD
• 요청이 들어온 서블릿을 매핑해주는 역할
• 웹 어플리케이션에는 하나의 DD만 존재함
<servlet>
<servlet-name>Insert</servlet-name>
<servlet-class>com.namex.shortener.Insert</servlet-class>
<load-on-startup>-1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Insert</servlet-name>
<url-pattern>/insert</url-pattern>
</servlet-mapping>
DD
• <servlet-name> : 서블릿 태그를 servlet-mapping과
연관시킨다.
• <servlet-class> : 이 안에는 자바 클래스 이름이 들어
감
• <url-patten> : 이 주소로 요청이 들어오면 자바 클래
스를 호출하게 됨.

More Related Content

PPTX
[Network] Data Transfer History
PPTX
잭블랙이블랙잭을한다 - 최종발표
PDF
Using CloudFront and S3 at SMARTSTUDY
PPTX
Web server
PPTX
20170609 tech day_4th-nginx(lb)-이재훈
PDF
portfolio-subtitle-convert-김남운
PPTX
웹(자바기준)의 전반적인 이해
PPTX
가용성을 고려한 웹 서비스 인프라 설계
[Network] Data Transfer History
잭블랙이블랙잭을한다 - 최종발표
Using CloudFront and S3 at SMARTSTUDY
Web server
20170609 tech day_4th-nginx(lb)-이재훈
portfolio-subtitle-convert-김남운
웹(자바기준)의 전반적인 이해
가용성을 고려한 웹 서비스 인프라 설계

What's hot (20)

PDF
Lighting talk 2 9
PDF
nodejs websocket & SOCKET.IO
PPT
Meteor를 통해서 개발하는 웹어플리케이션 서비스
PPTX
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
PDF
Nginx Architecture
PPTX
Web Socket
PPTX
Tech talk 2 - 이윤구
PDF
Content negotiation
PPTX
웹소켓 (WebSocket)
PDF
서버성능개선 류우림
PDF
Web and server
PDF
킴스큐Rb 설치
PDF
build a linux webhosting server
PDF
Nodejs를 이용한 개발
PPTX
워드프레스를 이용해 나만의 홈페이지 만들기(1)
PPTX
실시간통신
PDF
How to make web based collaborate code editor
PDF
가상메모리
PDF
Webservice cache strategy
PDF
Asynchronous Python and Database
Lighting talk 2 9
nodejs websocket & SOCKET.IO
Meteor를 통해서 개발하는 웹어플리케이션 서비스
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
Nginx Architecture
Web Socket
Tech talk 2 - 이윤구
Content negotiation
웹소켓 (WebSocket)
서버성능개선 류우림
Web and server
킴스큐Rb 설치
build a linux webhosting server
Nodejs를 이용한 개발
워드프레스를 이용해 나만의 홈페이지 만들기(1)
실시간통신
How to make web based collaborate code editor
가상메모리
Webservice cache strategy
Asynchronous Python and Database
Ad

Viewers also liked (20)

PPTX
HeadFisrt Servlet&JSP Chapter 1
 
PDF
JSP 빠르게 시작하기
PPTX
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
PDF
HeadFisrt Servlet&JSP Chapter 5
 
PPTX
HeadFisrt Servlet&JSP Chapter 6
 
PPTX
HTTP web server 구현
PPTX
잘 알려지지 않은 이클립스 팁
PDF
Eclipse web
PPTX
뭔지 모르지만 발표
PDF
우리는 꿈을 꾸는 개발자들.
PPTX
HeadFisrt Servlet&JSP Chapter 3
 
PPTX
메이븐파헤치기(김우용)
PDF
진민완 포트폴리오
PPTX
Rainbow Project Web App
PDF
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
PPTX
Maven의 이해
PDF
웹 개발 스터디 01 - HTML, CSS
PDF
자바 서블릿과 세션 (Java Servlet, Session)
PDF
자바모델 클래스에 날개를달자_롬복(Lombok)
PDF
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
HeadFisrt Servlet&JSP Chapter 1
 
JSP 빠르게 시작하기
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
HeadFisrt Servlet&JSP Chapter 5
 
HeadFisrt Servlet&JSP Chapter 6
 
HTTP web server 구현
잘 알려지지 않은 이클립스 팁
Eclipse web
뭔지 모르지만 발표
우리는 꿈을 꾸는 개발자들.
HeadFisrt Servlet&JSP Chapter 3
 
메이븐파헤치기(김우용)
진민완 포트폴리오
Rainbow Project Web App
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
Maven의 이해
웹 개발 스터디 01 - HTML, CSS
자바 서블릿과 세션 (Java Servlet, Session)
자바모델 클래스에 날개를달자_롬복(Lombok)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
Ad

Similar to Servlet&jsp 1장 (20)

PDF
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
PDF
웹 서버 실행 환경
PDF
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
PPT
Servlet3
PDF
JSP 프로그래밍 #01 웹 프로그래밍
PPTX
CDN overview
PDF
Node.js 첫걸음
PDF
Web server
PDF
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
PDF
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
PPTX
Web hacking introduction
 
PDF
PDF
이승재, 실시간 HTTP 양방향 통신, NDC2012
PDF
2023.05.22 발표 자료 : 스프링 부트 기초
PDF
HTTP 완벽 가이드 9~10장
PPTX
브라우저는 어떻게 동작하는가?
PPTX
TCP/IP Protocol - JAVA
PDF
Http 헤더
PDF
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
PDF
FCGI, C++로 Restful 서버 개발
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
웹 서버 실행 환경
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
Servlet3
JSP 프로그래밍 #01 웹 프로그래밍
CDN overview
Node.js 첫걸음
Web server
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
Web hacking introduction
 
이승재, 실시간 HTTP 양방향 통신, NDC2012
2023.05.22 발표 자료 : 스프링 부트 기초
HTTP 완벽 가이드 9~10장
브라우저는 어떻게 동작하는가?
TCP/IP Protocol - JAVA
Http 헤더
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
FCGI, C++로 Restful 서버 개발

Servlet&jsp 1장

  • 2. What is Server A. 클라이언트는 요청하고, 서버는 제공한다.
  • 3. What is Client 사용자가 웹 페이지의 링크를 클릭 요청으로 만들어서 서버로 넘 김 서버는 데이터를 찾은 후 응답으로 만들어서 넘김 브라우저는 넘겨받은 값을 사용자가 확인할 수 있게 화면에 출력함
  • 4. HTML & HTTP • HTML : 브라우저가 화면에 어떻게 컨텐츠를 출력할 지 알려주는 프로토콜(hyper text markup language) • HTTP : 클라이언트와 서버가 대화하는 언어. 웹상의 요청은 거의 대 부분 HTTP 프로토콜에 기초하여 이 루어짐(hypertext transfer protocol)
  • 5. HTML…? • 알고 있는 거니까 넘어갑시다. 주석, <a>, <br> 등의 태그들이 존재합니다.
  • 6. HTTP • 요청/응답의 끊임없는 주고 받음. • HTTP 요청/응답 안에 HTML이 포함되어 있음.
  • 7. GET/POST • 가장 많이 사용되는 두 가지 요청 • GET : 서버에게 클릭한 페이지를 달라고 요청하는 것 - 단순한 요청에 사용됨 • POST : 사용자가 입력한 값을 함께 보내는 것 - 사용 자가 입력한 값을 함께 넘겨주어야 할 때 사용
  • 8. GET • GET 으로도 데이터를 보낼 수 있으나, 폼에 다 보이 고 글자 수가 제한이 있음.
  • 9. POST • 복잡한 요청을 넘기기 위한 프로토콜
  • 10. Response From Server HTTP/1.1 200 OK Server: nginx Date: Mon, 20 Oct 2014 07:48:09 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: close Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Content-Encoding: gzip
  • 11. URI • 서버에 자원을 요청하는 주소. 웹서버에 이 주소로 요 청하면 해당하는 위치에 있는 리소스가 날아오게 됨
  • 12. 동적 페이지 vs 정적 페 이지 • 위와 같은 세팅에서는 *이미 존재하는* 리소스만 넘 겨줄 수 있음. • Q. 동적으로 컨텐츠를 만들어서 전송하는 것은?(현 재 시간, 주사위의 눈의 수…) • 서버 상에 데이터를 저장하고 싶을 때는?
  • 13. CGI 매핑되어 있는 주소로 요청이 들어옴 요청을 확인한 서버가 도우미 어플리케이션 호출 CGI(도우미 어플리케이션)은 페이지를 만들어서 서버에 넘겨줌 서버는 클라이언트에게 응답함
  • 14. 톰캣 설치 • 톰캣을 설치해보자 • http://blog.naver.com/piro37/220052701416 • 톰켓은 JSP/Servlet 컨테이너 중 하나로 사용자에게 jsp 요청을 받으면 서블릿으로 이를 변환해서 실행. • 톰켓 자체에 간단한 웹서버가 내장되어 있음.
  • 16. 서블릿 이론 • CGI는 동적인 웹 어플리케이션 기술로 서블릿보다 먼저 만들어짐 • 자바로 작성된 코드. JVM 위에서 돌아가기 때문에 하 드웨어랑 소프트웨어로부터 자유로움 • 클라이언트에서 받은 요청을 웹 컨테이너(톰켓)으로 보내게 됨.
  • 17. 처리과정 웹 브라우저에서 서버로 helloServlet을 요청 요청받은 웹서버는 서블릿 컨테이너에게 HelloServlet 처리 요청 서블릿 컨테이너는 HelloServlet을 찾고 실행 HelloServlet은 처리결과를 웹서버로 주고, 웹서버는 이걸로 응답
  • 18. DD • 요청이 들어온 서블릿을 매핑해주는 역할 • 웹 어플리케이션에는 하나의 DD만 존재함 <servlet> <servlet-name>Insert</servlet-name> <servlet-class>com.namex.shortener.Insert</servlet-class> <load-on-startup>-1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Insert</servlet-name> <url-pattern>/insert</url-pattern> </servlet-mapping>
  • 19. DD • <servlet-name> : 서블릿 태그를 servlet-mapping과 연관시킨다. • <servlet-class> : 이 안에는 자바 클래스 이름이 들어 감 • <url-patten> : 이 주소로 요청이 들어오면 자바 클래 스를 호출하게 됨.