Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
자바 웹 개발 시작하기
(2주차 : 인터넷과 웹 어플리케이션의 이해)
2011. 11. 02

DEVELOPMENT #2

이덕곤
§  자바 웹 개발 기본환경 만들기
§  윈도우 설치
§  JDK 설치
§  Tomcat 설치
§  Eclipse 설치
§  Hello, World!

§  모델 1 기반의 JDBC연동 웹 프로그래밍
§ ...
§  못다한 이야기 계속하기(1주차 PT 활용)
§  인터넷과 웹 어플리케이션의 이해
§  인터넷과 웹
§  LAN선을 타고 돌아다니는 것들은?
§  서버와 클라이언트, 프로토콜이란?

§  웹 어플리케이션과...
§  1960~1970년대 미국 국방부 산하의 고등 연구국
(Advanced Research Projects Agency, ARPA)의 연구용
네트워크(ARPANET)가 시초

§  지금은 일반적인 의미로 TCP/I...
§  통신 : 라틴어 ‘communicare(공유하다)’, 원거리 대화
§  네트워크(망) : 서로 연결시켜주는 조직이나 체계
§  프로토콜 : 서로 다른 기종의 컴퓨터 사이에 어떤 자료를,
어떤 방식으로 언제 주...
Hi

TCP connection
req.

Hi
TCP connection
reply.

Got the
time?
2:00

<file>
time
§  Transmission Control Protocol / Internet Protocol
§  TCP : 네트워크 전송제어 프로토콜 - 데이터를 나누고 포장하고
§  IP : 데이터를 주고 받는 것에 관한 규...
§  월드 와이드 웹(World Wide Web, WWW, W3)은 인터넷에 연결된
컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보
공간. 정보 요청자 클라이언트와 제공자 서버와 네트워크의 집합
§...
§  HyperText Transfer Protocol
§  WWW에서 정보(HTML 문서)를 주고 받는 데에 쓰이는 통신규약

HTTP
클라이언트

Http request
GET “http://www.ee.ucla...
§  HEAD
§  GET과 같은 요청이지만,
자료에 대한 정보만을 받는다.

§  GET
§  URL에 해당하는 자료의
전송을 요청한다.

§  POST
§  서버가 처리할 수 있는
자료를 보낸다.

§ ...
Internet
(HTTP)
HTML JAVAScript 등

§  클라이언트와 서버의
요청(Request)과 응답(Response)
관계 속에서 이루어짐
§  클라이언트 프로그래밍
§  자바스크립트, HTML, ...
§  CGI란?
§  '서버-사이드 스크립트언어' 의 시초
§  게시판이나 방명록을 구현할 때 많이 사용됨
§  C/C++, PERL등 다양한 프로그래밍 언어로 구현 가능함
§  사용자의 수가 늘어날 수록 동일...
§  CGI의 단점
§  클라이언트의 요청만큼 프로세서를 생성 => 처리량에 한계가 있다.

§  확장 CGI
§  처음 클라이언트의 요청에 따라 라이브러리를 메모리에 로딩한 후, 메모리에
적재된 라이브러리를 사...
Public class CMemberTest extends HttpServl
et{
public void doget(HttpServeletRequest requ
est, HttpServeletResponse respon...
§  자바 = 표준 + 구현체 (고도의 추상화)
§  자바를 기반으로 하는 스크립트 언어로 자바가 제공하는 기능을
그대로 사용할 수 있다.
§  자바를 기반 => 플랫폼에 상관없이 사용할 수 있다.
§  서블릿/...
§  "The power of the web is in its universality.
Access by everyone regardless of disability is
an essential aspect."
§ ...
§  TCP IP 네트워킹
§  http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/
TCP_IP

§  소설같은 JSP
§  http://www.jabook.com/...
§  스프링 웹 개발
§  RESTful (REpresentational State Transfer)
§  컨트롤러
§  뷰, 표현방법 : JSP, EL, JSTL
§  JSON : Gson
§  과제 : J...
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
Upcoming SlideShare
Loading in …5
×

자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)

Java web development 02

자바 웹 개발 시작하기
(2주차 : 인터넷과 웹 어플리케이션의 이해)
2011. 11. 02

벌써 2년도 넘은 자료지만
그래도 필요하신분이 있을지 몰라서...
(지금보니 2년사이 많은것을 배운것 같네요 ㅎㅎ)

자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)

  1. 1. 자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해) 2011. 11. 02 DEVELOPMENT #2 이덕곤
  2. 2. §  자바 웹 개발 기본환경 만들기 §  윈도우 설치 §  JDK 설치 §  Tomcat 설치 §  Eclipse 설치 §  Hello, World! §  모델 1 기반의 JDBC연동 웹 프로그래밍 §  못다한 이야기 : 모델 2 기반의 웹 프로그래밍
  3. 3. §  못다한 이야기 계속하기(1주차 PT 활용) §  인터넷과 웹 어플리케이션의 이해 §  인터넷과 웹 §  LAN선을 타고 돌아다니는 것들은? §  서버와 클라이언트, 프로토콜이란? §  웹 어플리케이션과 자바 §  왜 자바를 사용할까?
  4. 4. §  1960~1970년대 미국 국방부 산하의 고등 연구국 (Advanced Research Projects Agency, ARPA)의 연구용 네트워크(ARPANET)가 시초 §  지금은 일반적인 의미로 TCP/IP 프로토콜을 사용해서 연결되어 통신하는 모든 네트워크를 인터넷이라 칭함 §  메시지가 한 방향 이상으로 나뉘어 전달되거나 또는 다른 길로 전달될 수 있기 때문에, 적의 군사공격이나 기타 다른 재해로 인해 네트워크의 일부가 파괴된 경우 에도 제 기능을 발휘할 수 있는 특징을 가짐 §  1983년 ARPANET이 정지하면서 TCP/IP기반으로 전환
  5. 5. §  통신 : 라틴어 ‘communicare(공유하다)’, 원거리 대화 §  네트워크(망) : 서로 연결시켜주는 조직이나 체계 §  프로토콜 : 서로 다른 기종의 컴퓨터 사이에 어떤 자료를, 어떤 방식으로 언제 주고받을지 등을 정해놓은 통신규약
  6. 6. Hi TCP connection req. Hi TCP connection reply. Got the time? 2:00 <file> time
  7. 7. §  Transmission Control Protocol / Internet Protocol §  TCP : 네트워크 전송제어 프로토콜 - 데이터를 나누고 포장하고 §  IP : 데이터를 주고 받는 것에 관한 규약 - 어디(주소)로 가야 하나?
  8. 8. §  월드 와이드 웹(World Wide Web, WWW, W3)은 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간. 정보 요청자 클라이언트와 제공자 서버와 네트워크의 집합 §  도메인 이름 서비스(Domain Name Service 또는 Domain Name System, DNS)는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행 §  Email(POP3, SMTP, IMAP) 전자 우편 서비스 §  FTP는 인터넷상의 컴퓨터들간에 파일을 교환하기 위한 프로토콜 §  텔넷(Telnet)은 자신이 사용권한을 가지고 있다는 전제하에 다른 사 람의 호스트 컴퓨터를 원격지에서 액세스할 수 있도록 해주는 방법 §  비트토렌트(BitTorrent)는 P2P(peer-to-peer) 파일 전송 프로토콜
  9. 9. §  HyperText Transfer Protocol §  WWW에서 정보(HTML 문서)를 주고 받는 데에 쓰이는 통신규약 HTTP 클라이언트 Http request GET “http://www.ee.ucla.edu”<CR> HTTP 프로토콜 Http response 200 “” <CR> <html file in MIME format> TCP 프로토콜 TCP HTTP 서버 TCP 라우터 IP 이더넷 드라이버 IP 프로토콜 이더넷 프로토콜 이더넷 IP 프로토콜 IP 이더넷 드라이버 토큰링 드라이버 토큰링 프로토콜 토큰링 IP 토큰링 드라이버
  10. 10. §  HEAD §  GET과 같은 요청이지만, 자료에 대한 정보만을 받는다. §  GET §  URL에 해당하는 자료의 전송을 요청한다. §  POST §  서버가 처리할 수 있는 자료를 보낸다. §  PUT §  해당 URL에 자료를 저장한다. §  DELETE §  해당 URL의 자료를 삭제한다. §  200 - 요청이 정상적으로 처리됨 §  400 - 클라이언트의 요청이 잘못된 구문으로 구성됨 §  401 - 접근이 허용되지 않음 §  404 - 지정된 URL을 처리하기 위한 자원이 존재하지 않음 §  500 - 서버 내부에러. 예를 들어, JSP에서 예외가 발생하는 경우가 해당된다. §  503 - 서버가 일시적으로 서비스를 제공할 수 없음. 급격하게 부하가 몰리거나 서버가 임시 보수 중인 경우가 해당된다.
  11. 11. Internet (HTTP) HTML JAVAScript 등 §  클라이언트와 서버의 요청(Request)과 응답(Response) 관계 속에서 이루어짐 §  클라이언트 프로그래밍 §  자바스크립트, HTML, CSS §  서버사이드 프로그래밍 §  웹 어플리케이션 §  웹 서비스 JSP, ASP, PHP 등
  12. 12. §  CGI란? §  '서버-사이드 스크립트언어' 의 시초 §  게시판이나 방명록을 구현할 때 많이 사용됨 §  C/C++, PERL등 다양한 프로그래밍 언어로 구현 가능함 §  사용자의 수가 늘어날 수록 동일한 프로세스가 서버에 생성됨 §  CGI의 동작 원리 int main(int argc, char ** argv) { printf("Content-type: text/htmlnn"); printf("<html><body> <h2>Hello World CGI VERSION</h2> </body></html>n); }
  13. 13. §  CGI의 단점 §  클라이언트의 요청만큼 프로세서를 생성 => 처리량에 한계가 있다. §  확장 CGI §  처음 클라이언트의 요청에 따라 라이브러리를 메모리에 로딩한 후, 메모리에 적재된 라이브러리를 사용해서 클라이언트의 요청을 처리하는 방식 §  다수의 요청이라도 한 개에 해당하는 메모리만을 사용하기 때문에 일반적인 CGI에 비해 효율적이다. §  확장 CGI 언어 §  자바 기반의 확장 CGI 프로그래밍 §  서블릿(Servlet) : Server + Let(허용)의 합성어 §  웹(HTTP) + 자바 프로그래밍, Java 프로그래밍 기반의 확장 CGI §  자바 기반의, 확장 CGI 기반의, 스크립트 방식의 프로그래밍 §  JSP(Java Server Pages) §  서블릿보다 쉽게 동적 웹 페이지를 생성할 수 있는 프로그래밍 언어 §  웹(HTTP) + 프로그래밍(Java) + 스크립트(Script) 기능 §  스크립트 방식의 서버 측 프로그래밍(Server Side Programming)
  14. 14. Public class CMemberTest extends HttpServl et{ public void doget(HttpServeletRequest requ est, HttpServeletResponse response) throws ServletException, IOException { response.setContentType(“text/html; UTF8”); PrintWriter out = response.getWriter(); out.printerln(“<HTML><HEAD><TITLE>로 그인</TITLE></HEAD></HTML>”); out.printerln(“<BODY><H2>Hello World : 헬로월드</H2>”); out.printerln(“오늘의 날짜와 시간은 : “new j ava.util.Date()); out.printerln(“</BODY></HTML>”); } } <%@ page contentType=“Text/html; charset= UTF-8” %> <HTML> <HEAD><TITLE>Hello World</TITLE><HEA D> <BODY><H2>Hello World : 헬로월드</H2> 오늘의 날짜와 시간은 : <%= new java.util.Dat e() %> </BODY> </HTML>
  15. 15. §  자바 = 표준 + 구현체 (고도의 추상화) §  자바를 기반으로 하는 스크립트 언어로 자바가 제공하는 기능을 그대로 사용할 수 있다. §  자바를 기반 => 플랫폼에 상관없이 사용할 수 있다. §  서블릿/EJB 등의 엔터프라이즈 기술들과 잘 융합된다. §  표현 언어, 표현식, 스크립트릿 등 다양한 스크립트 요소와 액션 태그 등을 제공함으로써 보다 쉽게 웹 어플리케이션을 프로그래밍 할 수 있도록 도와준다. §  이러쿵 저러궁 §  사실은… (대기업은 여러가지 다 사용. 왜 그럴까?)
  16. 16. §  "The power of the web is in its universality. Access by everyone regardless of disability is an essential aspect." §  Tim Berners-Lee §  "웹의 힘은 보편성에 있다. 불리한 조건에 관계없이 누구나 접근하는 것은 필수적인 측면이다." §  팀 버너스 리
  17. 17. §  TCP IP 네트워킹 §  http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/ TCP_IP §  소설같은 JSP §  http://www.jabook.com/jabook2/bs/bsView2.do?ba_no =2&bs_no=23&c_page=1 §  웹 프로그래밍 언어 비교하기 §  http://www.emh.co.kr/xhtml/server_side_scripting_lan guages.html
  18. 18. §  스프링 웹 개발 §  RESTful (REpresentational State Transfer) §  컨트롤러 §  뷰, 표현방법 : JSP, EL, JSTL §  JSON : Gson §  과제 : JSP말고 다른 표현방법 연구

×