일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Solution Architect
- Cloud Spanner
- AWS 자격증
- Cloud Storage
- 앤서블
- 리버스 프록시
- container
- Google Cloud Platorm
- Reverse Proxy
- kubernetes
- playbook
- Cloud SQL
- Solution Architect Certificate
- Cloud Bigtable
- VPC
- 아마존웹서비스
- AWS
- GKE
- Google Cloud Platrofm
- gcp
- Compute Engine
- AWS Database
- Cloud Datastore
- AWS Solution Architect
- Google Cloud Platform
- ansible
- Amazon Web Service
- Kubernetes Engine
- Google Cloud
- AWS Certificate
- Today
- Total
sungwony
[웹프로그래밍]JSP 본문
JSP는 MVC모델의 'View'를 담당한다.
PHP나 파이썬(Python)은 인터프리팅 방식으로 소스를 바로 읽어서 실행하지만, JSP 파일은 그 자체로 실행되지 않고 자바 서블릿 클래스로 만들어진 다음에 실행된다. 실행 속도 역시 스크립트 기반 서버 애플리케이션보다 JSP가 더 빠르다. 중요한 것은 JSP가 직접 실행되는 것이 아니라 JSP로부터 만들어진 서블릿이 실행된다는 사실이다.
JSP 엔진은 JSP 파일로부터 서블릿 클래스를 생성할 때 HttpJspPage 인터페이스를 구현한 클래스를 생성한다.
*상속 관계
<<interface>> Servlet <- <<interface>> JspPage <- <<interface>> HttpJspPage
HttpJspPage를 구현한다는 것은 결국 Servlet 인터페이스도 구현한다는 것이기 때문에 JSP 파일로부터 생성된 클래스틑 '서블릿'이 된다.
_jspService()
: HttpJspPage에 선언된 _jspService()는 JSP 페이지가 해야 할 작업이 들어 있는 메서드이다. JSP 파일에 작성된 대부분의 내용이 이 메서드 안으로 들어가게 된다. 서블릿 컨테이너가 service()를 호출하면 service() 메서드 내부에서는 이 메서드를 호출함으로써 JSP 페이지에 작성했던 코드들이 실행된다.
_jspInit(), _jspDestroy()
JSP의 주요 구성요소
JSP를 구성하는 요소는 크게 두 가지로 나눌 수 있다.
템플릿 데이터 : HTML, 자바스크립트, 스타일 시트, JSON 형식 문자열, XML, 일반 텍스트 등
JSP 전용 태그 : 자바 명령문으로 바뀌는 태그
page 지시자
<%@ page
language="java"
contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
① language 속성은 스크립트릿(Scriptlet)이나, 표현식(Expression element), 선언부(Declaration element)를 작성할 때 사용할 프로그래밍 언어를 지정한다.
② contentType 속성은 출력할 데이터의 MIME 타입과 문자 집합을 지정한다. 예제 코드에서 값 'text/html'은 출력할 데이터 HTML 텍스트임을 가리킨다. 예제 코드에서 값 'charset=UTF-8'은 출력할 데이터를 UTF-8로 변환(encoding)할 것을 지시.
③ pageEncoding 속성은 출력할 데이터의 문자 집합을 지정한다. 기본값은 'ISO-8859-1'이다.
JSP 전용 태그 - 스크립트릿
<% 자바 코드 %>
: 스크립트릿 태그 안에 작성한 내용은 서블릿 파일을 만들 때 그대로 복사된다.
JSP 전용 태그 - 선언문
<%! 멤버 변수 및 메서드 선언 %>
: JSP 선언문은 서블릿 클래스의 멤버(변수나 메서드)를 선언할 때 사용하는 태그로 JSP 페이지에서 선언문을 작성하는 위치는 위, 아래, 가운데 어디든 상관없다. 왜냐하면 선언문은 _jspService() 메서드 안에 복사되는 것이 아니라, _jspService() 밖의 클래스 블록 안에 복사되기 때문이다.
JSP 전용 태그 - 표현식
<%= 결과를 반환하는 자바 표현식 %>
: 표현식 태그는 문자열을 출력할 때 사용한다. <% %> 안에는 결과를 반환하는 자바 코드가 와야 한다. 서블릿 파일 안에서는 out.print(값) 으로 변환이 된다.
JSP 내장 객체
: JSP페이지에서 스크립트릿 <% %> 이나 표현식 <%= %>를 작성할 때 별도의 선언 없이 사용하는 자바 객체가 있는데 request, response, pageContext, session, application, config, out, page, exception 객체가 이에 해당한다.
'development > 웹프로그래밍' 카테고리의 다른 글
[웹프로그래밍]JSP 액션 태그의 사용 (0) | 2017.05.29 |
---|---|
[웹프로그래밍]포워딩과 인클루딩 (0) | 2017.05.26 |
[웹프로그래밍] 필터 (0) | 2017.05.23 |
[웹프로그래밍] 리프래시 / 리다이렉트 (0) | 2017.05.23 |
[웹프로그래밍]HTTP, GET, POST 이해하기 (0) | 2017.05.22 |