개발자/JSP

JSP 기초문법

푸루닉 2022. 11. 22. 21:27

JSP 기초문법 

  • jsp 구성요소는 크게 템플릿 데이터와 JSP 전용 태그, JSP 내장 객체 세 가지로 나눌 수 있다.
템플릿 데이터 클라이언트로 출력되는 콘텐츠
HTML, 자바스크립트, 스타일 시트, JSON, XML, 일반 텍스트 등이 여기에 해당
JSP 전용 태그 서블릿 생성 시 특정 자바 코드로 바뀌는 태그
Directives(<%@%>),Scriptlet Elements(<% %>), Declarations(<%! %>), Expressions(<%= %>), JSP Action(<jsp:...>)
JSP 내장 객체 JSP 기술 사양서에 정의된 필수적인 9개 객체
request, response, pageContext, session, application, config, out, page, exception
JSP에서 별도 선언 없이 사용 가능

 

  • JSP 기본 문법
종류 예시 설명
directive, 지시자 <%@ page import="java.util.ArrayList" %> import, 인코딩, session 설정 등을 처리한다. 클래스 전체에 적용되는 설정
declaration, 선언부 <%! int n1 = 10; %> 클래스의 멤버 필드 및 멤버 메서드를 선언하는 공간이다. 함수를 정의할 수 있으나 호출할 수 없다
scriptlet, 스클립트릿 <% %> 자바 코드를 작성하는 공간. 실제로는 service() 함수에 내용을 작성하는 것이다
expression, 표현식 <%= n1 %>, <%= add(10, 20) %> 변수 혹은 함수의 값을 HTML에 출력한다. out.pritn() 와 동일하다
comment, 주석 <%-- JSP 주석~~~ --%> JSP주석은 HTML주석과 달리, 웹 브라우저에서 확인할 수 없다

 

 


  • 예제
<h1>메서드 작성해서 호출하고 계산하여 출력하기</h1>
<hr>
<%!
	// 선언부에서는 메서드를 정의할 수 있다
	public int factorial(int num) {
// 		int answer = 1;
// 		 for(int i = num; i > 0; i--) {
// 			answer = answer *i;
// 		}
// 		 return answer;

		if(num == 1) {
			return num;
		}
		else {
			return num * factorial(num - 1);
		}
		
	}

%>

<%
	// 스크립틀릿에서 수행할 자바 코드를 작성한다. 
	// 가장 많이 사용하는 기본 JSP 문법이다
	
	int n1 = 4;
	int answer = factorial(n1);
%>

<h3><%=n1 %>의 팩토리얼은 <%=answer %></h3>
<h3><%=5 %>의 팩토리얼은 <%=factorial(5) %></h3>

<%-- --%>