웹 프로그래밍이란 웹 어플리케이션을 구현하는 행위이다
웹 어플리케이션이란 웹을 기반으로 작동되는 프로그램이다.
웹이란 1개 이상의 사이트가 연결 되어있는 인터넷 서비스의 한가지 형태이다
프로토콜(protocol) : 네트워크 상에서 약속된 통신 규약
IP : 네트워크 상에서 컴퓨터를 식별할 수 있는 주소
DNS : IP주소를 인간이 쉽게 외우도록 맵핑한 문자열
Port : IP주소가 컴퓨터를 식별할 수 있게
웹 컨테이너에서 jsp와 servlet을 서비스 한다.
JSP : HTML파일 내에 JAVA언어를 삽입한 문서
Servlet : JAVA 언어로 이루어진 웹프로그래밍 문서
컴포넌트
JSP, servlet, HTML 등의 웹 어플리케이션을 구현하기 위한 구성요소
웹 프로그래밍은 컴포넌트를 하나씩 만들어 나가는 것이 웹 프로그래밍.
동작
웹 서버: 클라이언트의 요청에 의해 정보를 제공해 주는 서버
별도의 구현이 필요한 로직이 있을 경우 웹 어플리케이션 서버에 요청
웹 브라우저 : 웹 서버에 정보를 요청하고 웹 서버로부터 정보를 받는 매개체(HTTP)
어떠한 페이지를 가고싶다. 주소창에 주소 타이핑. 웹 서버로 request됨. 웹 서버는 바로 응답이 가능하지만 어떠한 로직(글을 찾던가, 이미지를 불러오던가..)을 수행 후 응답해야할 때 웹 어플리케이션 서버에 요청 보냄. 바로 응답이 가능하지만 어떠한 데이터 값을 보내야 할 때 데이터베이스에 접근 후 데이터를 가져온 후 웹 어플리케이션에서 적절히 가공후 웹 서버에 응답해줌. 웹 서버는 최종적으로 웹 브라우저에 응답해줌.
JSP
1. 동적 웹 어플리케이션 컴포넌트
2. .jsp확장자
3. 클라이언트의 요청에 동적으로 작동하고 응답은 html을 이용
4. JSP는 Servlet으로 변환되어 실행된다.
5. MVC 패턴에서 View로 이용된다.
웹 브라우저에서 controller(servlet)에 request보냄(). 그럼 controller는 요청을 받아 요청이 무엇인지 판단 후 Model에 요청을 보내 가공함(DB접근). 다시 Controller에 응답 후 Controller는 View로 응답을 보냄. View에서 클라이언트 브라우저에 응답을 해줌.
JSP 코드 작성의 주 목적은 웹 브라우저에 보여줄 HTML 문서를 생성하는 것 이다. JSP를 사용해서 여러가지를 할 수 있지만 대부분 HTML을 작성하는데 쓰인다. JSP코드는 크게 설정 부분과 응답 생성 부분으로 구성된다.
설정 부분 : JSP 페이지의 설정 정보
생성 부분 : HTML 코드 및 JSP 스크립트
설정부분에 주로 위치하는 것
1. JSP 페이지가 생성하는 문서의 타입
A. Ex)<%@ page contentType=”text/html; charset=utf-8”%>
i. 생성할 문서는 html이고 charset은 uft-8임을 나타냄
2. 커스텀 태그
3. 자바 클래스 지정
<%@ page … %>를 page 디렉티브라고 함. JSP 페이지에 대한 정보를 설정할 때 page 디렉티브를 사용.
JSP 페이지 구성요소
1. 디렉티브
A. 디렉티브는 JSP페이지에 대한 설정 정보를 지정할 때 사용됨.
B. <%@ 디렉티브명 속1성=”값1” 속성2=”값2”….%>
2. 스크립트 요소
A. JSP 문서의 내용을 동적으로 생성하기 위해 사용되는 것.
B. 스크립트 요소를 사용하면 사용자가 폼에 입력한 정보를 DB에 저장할 수 있으면 DB로부터 게시글 목록을 읽어와 출력도 가능.
C. JAVA에서 제공하는 다양한 기능도 사용가능
3. 기본 객체
A. 웹 어플리케이션 프로그래밍을 하는데 필요한 기능을 제공해주는 기본객체를 제공.
B. Ex) request, response, session, application, page…등
C. 각각 요청 파라미터 읽어오기, 응답 결과 전송하기, 세션처리, 웹 어플리케이션 정보 읽어오기 등
4. 표현 언어
A. 스크립트 요소는 자바 문법을 그대로 사용 가능하다. 즉 자바 언어의 특징을 그대로 사용 가능하다. 하지만 JSP코드가 다소 복잡헤진다.
B. 이를 보완하기 위해 표현 언어(Expression Language)를 사용하면 좀 더 간결하게 작성 가능하다.
5. 정적 데이터
6. 액션 태그
A. Forward, include, useBean… 등 jsp페이지에서 특별한 기능 제공.
7. 커스텀 태그, 태그 라이브러리
A. 커스텀 태그는 Jsp를 확장시켜주는 기능.
B. 커스텀 태그는 액션 태그와 다르게 개발자가 직접 개발하여 사용해야한다.
C. 커스텀 태그 중 자주 사용하는 것들을 별도로 표준화한 것이 JSTL(Jsp Standard Tag Library)이다.
D. if문이나 for문 등과 같은 것들은 커스텀 태그를 이용해서 구현 가능하게 해준다
Servlet
1. 동적 웹 어플리케이션 컴포넌트
2. .java 확장자
3. 클라이언트의 요청에 동적으로 작동하고 응답은 html을 이용
4. Java thread 이용하여 동작
5. MVC 패턴에 Controller로 이용
'Web > JSP' 카테고리의 다른 글
[JSP] 예외 페이지 (1) | 2018.10.23 |
---|---|
[JSP] forward action (0) | 2018.10.23 |
[JSP] EL & JSTL (0) | 2018.10.21 |
[JSP] MVC (0) | 2018.10.20 |