💡 jSP에서 자바 코드를 직접 작성할 수 있게 해주는 것을 말한다.
용도에 따라서 1. 선언부 2. 스크립틀릿 3. 표현식으로 나뉜다.JSP는 클라이언트의(웹 브라우저) 요청을 받아 실행 될 때 서블릿으로(자바코드)변환되고, 클래스로 컴파일된 후 응답하게 된다.
이 변한 과정에서 _jspService()메서드가 생성이되는데, 변환된 코드의 위치는 스크립트 요소에 따라 _jspService() 메서드 내부 또는 외부에 놓일 수 있다.
💡 선언부에서는 스크립틀릿이나 표현식에서 사용할 멤버 변수나 메서드를 선언한다.
서블릿으로 변환시 _jspService()메서드 "외부에" 선언된다.
💡 <%! 메서드 선언 %>
💡 JSP 페이지가 요청을 받을 때 실행돼야 할 자바 코드를 작성하는 영역이다.
서블릿으로 변환시 _jspService() 메서드 "내부에" 그대로 기술된다.
💡 <% 자바코드 %>
💡 자바에서는 메서드 안에 메서드를 선언하는게 불가하다
스크립틀릿에 메서드를 선언한다는 것은 _jspService()메서드 내부에 또 다른 메서드를 선언하는 것이다.
<body>
<%
public int gugudan(int s, int e) {
System.out.println("에러발생합니다.");
}
%>
💡 상수, 변수, 연산자를 사용한 수식, 반환값이 있는 메서드 호출 등이 모두 표현식에 속한다.
주로 변수의 값을 웹 브라우저 화면에 출력할 때 사용한다.
스크립틀릿에서 변수를 출력할 때는 out.println()을 사요해야 하지만 좀더 단순한 방법으로 사용할 수 있다.
💡 <%= 자바 표현식 %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> ---📌page 지시어 사용
<%! public int add(int num1, int num2) { ------📌 선언부(메서드 선언)
return num1 + num2;
}
%>
<html>
<head><title>스크립트 요소</title></head>
<body>
<% ------------📌 스크립틀릿(자바코드)
int result = add(10, 20);
%>
덧셈 결과1 : <%= result %><br /> ---------📌 표현식(변수)
덧셈 결과 2 : <%= add(30,40) %> ----------📌 표현식(메서드 호출)
💡 결과
덧셈 결과1 : 30
덧셈 결과2 : 70