티스토리 뷰
이전에 배운 내용 - 서블릿 생명주기, 초기 파라미터, 리스너 컨테스트 리스너, HTML에서 어떻게 서블릿으로 데이트를 전송하고 받는지 (Form 태그)
1. JSP 태그 개념 이해
- Servlet은 Java언어를 이용하여 문서를 작성하고, 출력객체를 이용하여 HTML코드를 삽입함.
- JSP는 Servlet과 반대로 HTML코드에 Java언어를 삽입하여 동적 문서를 만들 수 있음.
- HTML코드안에 Java코드를 삽입하기 위해서는 태그를 이용한다.
1-1 JSP 태그 종류
<%@ %> : 지시자 : 페이지 속성
<%-- --%> :주석 cf) HTML주석 <!-- --> //HTML주석은 브라우저에서 실행되기 때문에 소스코드를 볼 경우 코드내용이 보임 그렇지만 JSP주석 코드는 WAS에서 처리되기 때문에 소스코드를 해도 보이지 않음
<%! %> : 선언 : 변수, 메소드 선언
<%= %> : 표현식 : 결과값 출력
<% %> : 스크립트릿 : JAVA 코드
<jsp:action> </jsp:action> : 액션태그 : 자바빈
2. JSP 동작 원리
- JSP가 요청되어 응답하기까지의 과정을 이해하면 개발에 많은 도움이 됨.
- 클라이언트가 웹브라우저로 HelloWorld.jsp를 요청하게 되면 서버를 거쳐 WAS안에 있는 JSP컨테이너가 JSP 파일을 Servelt파일(.java)로 변환함. 그리고 Servlet파일(.java)은 컴파일 된 후 클래스 파일(.class)로 변환되고 메모리상에 로드되어, 요청한 클라이언트에게 HTML파일 형태로 응답하게 됨.
1) 웹브라우저 요청
2) JSP -> Servlet (helloworld.js -> helloworld_jsp.java)
3) Servlet -> class (helloworld_jsp.java -> helloworld_jsp.class)
4) 웹 브라우저로 응답(HTML형태로 응답)
2-1 JSP와 Servlet의 동작비교
- Servlet: 클라이언트 요청 -> 서블릿객체 만들어짐 -> 스레드 만들어짐 -> 또 요청 -> 객체는 그대로 유지하고 스레드가 또 생성 -> 반복. 다른 CGI언어에 비해 부하가 걸리지 않아 속도가빠름 (JSP도WAS에서 서블릿으로 만든 후 실행이 되기 때문에 동일한 구조를 갖는다.)
- JSP: 클라이언트 JSP 요청 - > 요청에 대해 서블릿 유무 판단 -> 없는 경우 서블릿 생성(servlet.java /class) -> 메모리에 올림 -> 클라이언트에게 응답 -> 또 요청 -> 서블릿 유무 판단 -> 서블릿이 이미 생성됨 -> 생성된 서블릿을 재활용해서 사용 (속도가 서블릿 보다는 느리지만 거의 동일함, 다른 CGI언어에 비해 여전히 빠르다)
3. JSP 내부 객체
- 개발자가 객체를 생성하지 않고 바로 사용할 수 있는 객체
- JSP에서 제공되는 내부객체는 JSP컨테이너에 의해 Servlet으로 변화될 때 자동으로 객체가 생성됨.
- 내장 객체는 JSP 페이지 내에서 제공하는 특수한 레퍼런스 타입의 변수.
- JSP 페이지에서 사용하게 되는 특수한 레퍼런스 타입의 변수가 아무런 선언과 객체 생성 없이 사용할 수 있는 이유는 JSP 페이지가 서블릿으로 변환될 때 JSP 컨테이너가 자동적으로 제공을 하기 때문이다.
3-1 내부 객체 종류
- 입출력 객체 : requset, response, out
- 서블릿 객체 : page, config
- 세션 객체 : session
- 예외 객체 : exception
'JSP > 인프런 JSP' 카테고리의 다른 글
9. JSP 본격적으로 살펴보기 -3 (0) | 2020.02.07 |
---|---|
8. JSP 본격적으로 살펴보기 -2 (0) | 2020.02.07 |
6. Servlet 본격적으로 살펴보기 -4 (0) | 2020.02.05 |
5. Servlet 본격적으로 살펴보기 -3 (0) | 2020.02.04 |
4. Servlet 본격적으로 살펴보기 -2 (0) | 2020.02.03 |
- 20200502
- 20200503
- 20201204
- 20200425
- 20200504
- 20200429
- 생활코딩리눅스
- 20200317
- chapter8
- 백준
- 20200415
- likelion
- 20200403
- 20200406
- 20200423
- 20200424
- 20200510
- 20200319
- 20200512
- 20200622
- 20200330
- 20200421
- chapter7
- 20200428
- 20200804
- 20200420
- 20200427
- 20200413
- 20200417
- 20200624
- Total
- Today
- Yesterday