- 강의 소리가 너무 작아서 크롬 확장 프로그램 Volumn Control을 사용함.
Day 1
웹 프로그램 개요
프로토콜과 IP
- 프로토콜 : 통신하기 위한 규약으로 HTTP, FTP, SMTP, POP 등이 있다. 인터넷 객체(브라우저, 메일)에서 통신을 통해 웹 서버로 넘겨주는데, 이때 통신을 하기 위한 규약이 프로토콜이다.
- FTP : File Transfer Protocol, 글 그림 하이퍼링크 등으로 왔다갔다하는 거
- SMTP : 메일
웹 프로그램의 동작 원리
- 유저 <-> Web server
- 유저(클라이언트)는 웹서버에 Request
- 정적 파일을 원한다 : html (정적 데이터)
- 데이터를 가져와서 새로 가공해야한다 : web container에서 데이터를 만들어 html로 만들어 응답한다 (동적 데이터)
- 웹서버는 그에 대한 Response
- 유저(클라이언트)는 웹서버에 Request
- 웹서버 <-> 데이터베이스
- 웹서버는 데이터베이스에 쿼리를 날리고
- 데이터베이스는 결과물을 전달
개발 환경 설정
- JDK, 이클립스, 톰캣 설치
- 톰캣을 이클립스에서 구동해준다. (서버로 연결 해주어야함.)
JSP 맛보기
- 자바를 이용한 서버 페이지
-
실제로 웹 컨테이너에서 어떤 작업이 이루어지는지 학습
- 웹 컨테이너 구조
- xxx.jsp 파일을 개발자가 만들어서 올리면
- request 들어와서 톰캣 웹 컨테이너에서
- xxx_jsp.java로 변환
- xxX_jsp.class로 변환
- xxx_jsp.obj로 변환 (자바 환경에서 구동)
- 사용자에게 html로 Response된다.
JSP 파일 열기
Dynamic Web Project
로 프로젝트를 만든다.The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
에러 발생, 해결 레퍼런스WebContent
가 실제로 코드가 들어가는 . jsp파일을 만들면 컨테이너에 들어가야하기 때문에 자동으로 WebContent로 설정된다.- jsp파일은 html문서에 jsp코드가 살짝 추가된 느낌.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
- 일종의 지시어 문법이라고 생각할 수 있다.
- 실행 :
hellojsp.jsp
클릭 후Run as Server
- 주소창을 보면
http://localhost:8090/lec03/hellojsp.jsp
라고 되어있는데, lec03이라는 프로젝트에 들어와서 jsp파일을 실행하고 있다. 소스보기를 누르면, 사용자 브라우저에 표시되는 소스는 JSP문법은 사라지고 html 소스만 남는다. 웹 컨테이너 구조에서 살펴보았듯, xxx.jsp 파일 request가 들어오면 웹 컨테이너(tomcat)에서 html로 변환하여 사용자에게 response해주는 것이다.