728x90
- JSP는 태그를 이용해 문법 기술
- JSP 태그는 스크립트 태그, 디렉티브 태그, 액션 태그로 구분
1. 스크립트 태그 - HTML 코드에 자바 코드를 넣어 프로그램이 수행하는 기능 수행
2. 디렉티브 태그 - JSP 페이지를 어떻게 처리할 것인지 설정하여 JSP 페이지에 대한 정보를 JSP 컨테이너에 보냄
3. 액션 태그 - 클라이언트/서버에 어떤 작동을 행하도록 명령을 지시하는 XML 형태의 태그. JSP 페이지 사이에서 제어 이동 가능
스트립트 태그
스크립트 태그 | 형식 | 설명 |
1. 선언문 | <%! ----- %> | 자바 변수나 메소드 정의하는 데 사용 |
2. 스크립틀릿 | <% ------ %> | 자바 로직 코드 작성하는 데 사용 |
3. 표현문 | <%= ------ %> | 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력하는 데 사용 |
- 모두 <% ---- %>를 사용
- JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때, JSP 컨테이너가 자바 코드를 삽입되어 있는 스크립트 태그 처리하고 HTML 코드나 일반 텍스트로 간주
선언문 태그
- 변수나 메소드 등을 선언하는 태그
- 선언된 변수와 메소드는 서블릿 프로그램으로 변역될 때, jspService() 메소드 외부에 배치되므로 JSP 페이지 임의의 위치에 선언
- 스크립틀릿 태그보다 나중에 선언해도 스크립틀릿 태그 사용 가능
<% 자바 코드; %> // 각 행이 세미콜론으로 끝나야 함
- 선언된 변수는 서블릿 프로그램으로 변역될 때 클래스 수준의 멤버 변수가 되므로 전역변수로 사용
스크립틀릿 태그
- 자바 코드로 이루어진 로직 부분을 표현하며, 다음과 같은 형식으로 out 객체를 사용하지 않고도 쉽게 HTML 응답 생성 가능
- 가장 일반적으로 사용되며 변수 또는 메소드 호출, 유효식 등 다수를 포함할 수 있음
- 모든 텍스트, HTML 태그, 또는JSP 요소는 스크립틀릿 태그 외부에 있어야 함
<% 자바 코드; %>
- 스크립틀릿 태그에 작성된 자바 코드는 서블릿 프로그램으로 변환될 때 _jspService() 메소드 내부에 복사
- 각 클라이언트의 요청에 대해 _jspService() 메소드가 호출되므로 메소드의 내부 코드가 클라이언트의 요청마다 실행
- _jspService() 메소드 내부에 복사되므로 지역변수가 되어 테그가 선언된 변수는 스크립틀릿 태그 내에서만 사용 가능
선언문 태그 | 스크립틀릿 태그 |
변수뿐만 아니라 메소드 선언 가능 | 스크립틀릿 태그는 메소드 없이 변수만 선언 가능 |
서블릿 프로그램으로 변환될 때 _jspServixce() 메소드 외부에 배치 | 서블릿 프로그램으로 변환될 때, _jspService() 메소드 내부에 배치 |
표현문 태그
- <%= 와 %>를 사용하여 웹 브라우저에 출력할 부분 표현
- 선언문 태그를 이용하여 선언문 태그 또는 스크립틀릿 태그에서 선언된 부분 표현
- 태그를 이용하여 선언문 태그 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 반환 값을 외부로 출력
- 스크립틀릿 태그에서 사용할 수 없으므로, 이 경우에 out.print() 메소드 사용
<% 자바 코드 %>
- 표현문 태그에 숫자, 문자, 불린 등 기본 데이터 타입과 자바 객체 타입도 사용 가능
- 태그에 작성된 모든 자바 코드의 값은 문자열로 변환되어 웹 브라우저에 출력
- 기본 데이터 타입은 toString()을 통해 출력, 자바 객체 타입은 java.lang.Object 클래스의 toString() 메소드를 사용하거나 자체에서 선언한 toString() 사용하여 출력
'Back > JSP' 카테고리의 다른 글
[JSP] Eclipse + Tomcat 환경 설치 <Window 컴퓨터 기반> (4) | 2024.09.02 |
---|