[Web] 9. step04_JSP(2) - jsp script tag

진주·2022년 2월 9일
0

Web

목록 보기
11/17
post-custom-banner

JSP에서 사용되는 태그

1) Script 태그 : 자바 코드를 넣어 프로그램이 수행하는 기능을 구현
2) Directive 태그 : JSP페이지에 대한 정보를 컨테이너에 제공
3) Action 태그 : XML형태의 태그로 JSP페이지 간 제어


1) jsp script tag 종류

스크립트 태그는 JSP페이지를 서블릿 클래스로 변환할때,
컨테이너(tomcat)는 JAVA코드가 삽입되어있는 스크립트 태그를 처리하고
나머지는 HTML코드나 일반 텍스트로 간주한다.


Q. 스크립트 태그는 어떤 구조로 이루어져 있을까?
A. 선언문, 스크립트릿, 표현식 태그들로 이루어져있다.


[종류]
선언문(declaration) : <%! ... %> : 자바 변수나 메소드 정의
스크립트릿(scriptlet) : <% ... %> : 자바 로직 코드 작성
표현식(expression) : <%= ...>
: 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력


ⓛ 선언문 태그 <%! ... %>

메소드(함수)나 전역 변수를 선언하기 위한 구문이다.

JSP가 서블릿으로 변환된 Java코드에서 모든 내용이 _jspService()메소드에 들어간다.

따라서, JSP에서 선언한 변수는 지역 변수가 된다.

JSP페이지에서 멤버 변수와 메소드 선언이 가능하다.
구조적으로 JSP에서 JAVA코드를 사용하는 것이 권장되지 않기 때문에, 선언문의 사용도 역시 권장되지 않는다.

<%!
	int count = 3;	// 변수 선언
    
	String makeItLower(String data){	// 메소드 선언
    	return data.toLowerCase();
    }
%>

② 스크립트릿 태그 <% ... %>

JSP문서 내에서 Java 코드를 기술하는 부분이다.

화면과 프로그램이 섞여있으면 유지보수가 어렵기 때문에, 이 태그 또한 사용을 권장하지는 않는다.

현재 MVC패턴에 따라 웹 프로그램을 개발할 경우에 JSP는 View역할로 있다.

<%
	String msg = "접속을 환영합니다^__^";
	out.println(msg);
%>

Q. 선언문 태그와 스트립트릿 태그의 차이는 ?

1) 선언문 : 변수 & 메소드 선언
: 서블릿 프로그램으로 변환될 때 jspService() 메소드 외부에 배치 된다.

2) 스트립트릿 : 변수만 선언
: 서블릿 프로그램으로 변환될 때 jspService() 메소드 내부에 배치 된다.


③ 표현식 태그 <%= ...>

: 데이터 출력, 메소드 호출시 이용한다.

숫자, 문자, boolean 등 기본 데이터 타입과 Java 객체 타입 또한 사용이 가능하다.

또한, 사칙 연산과 문자열 결한 표현도 가능하다.
하지만, 표현식보다는 표현 언어를 사용하는 것이 좋다.

<%= msg %>

jsp1Scripting.jsp 코드 수정

[jsp script code 사용 부분]

	<%
	String msg = "접속을 환영합니다^__^";
	out.println(msg);
	%>
	---
	<%=msg%>

실행 결과

[출처]
https://m.blog.naver.com/3246902/221658422440

profile
진주의 코딩일기
post-custom-banner

0개의 댓글