JSP 란?
HTML 코드에서 Java 코드를 넣어 동적인 웹페이지를 생성하는 웹 어플리케이션 도구
(자동으로 servlet으로 바꿔줌)
Servlet은 수정이 어렵고 프로그램이 복잡해지면 Servlet을 통해 출력되는 HTML 페이지를 상상하기 어렵기때문에 JSP를 활용한다.Servlet은 복잡한로직 구현에 활용하며, HTML 중심의 코드는 JSP를 활용한다.
스크립트 요소 세가지
1) 스크립트릿 <% 자바코드 %>
: jsp 페이지에서 java 언어를 사용하기 위해 사용되는 요소
스크립트릿 <% %> 안에서는 html을 쓸 수 없으므로 중간에 html을 삽입하고 싶으면 스크립트릿을 닫았다가 html이 끝난 부분부터 다시 스크립트릿을 씌워줘야한다.
스크립트릿 요소는 가장 일반적으로 사용되는 스크립트 요소로 jsp 페이지가 서블릿으로 변환되고 요청될때 _jspService(톰캣 기준) 메소드 안에 선언이 되는 요소이다.
또한 스크립트릿은 선언문과 달리 선언된 변수가 지역변수로 선언되고 메소드 선언은 할 수 없다. (만약 선언을하게되면 메소드 안에 메소드를 선언한것이기 때문에 만들 수가 없다.)* 지역변수 : 메소드 안에 선언된 변수를 지역변수라고 한다. 이 지역변수는 초기화가 자동으로 일어나지않으므로 코드에서 초기화를 진행하지 않고 변수를 참조하면 컴파일에러가 발생된다. 그리고 선언된 메소드 내에서만 사용되고 그 외의 메소드에서는 참조할 수 없다.
<%
int i=0;
for(int i=0; i<=10; i++){
sum+=i;
}
%>
<h1>1부터 10까지의 합은 <%=sum%>입니다.</h1>
스크립트릿 <% %> 사이의 스크립트 코드를 입력해서 sum 변수에 1~10까지의 값을 모두 더하여 저장한다.
입력된 변수를 다시 사용하기 위해선 <%=변수이름%> 을 사용하여 다시 사용하도록 한다.
여기서 <%=변수이름%>이 표현식을 사용한 예시이다.
2) 표현식 <%= 자바코드 %>
: 어떤 값을 출력 결과에 포함시키고자 할 때 사용된다. (주로 String 타입을 출력할 때 사용, ; 을 사용하지않음.)
표현식은 동적인 jsp 페이지를 브라우저로 표현하기 위한 요소로 변수를 출력하거나 메소드의 결과값을 브라우저에 출력할 수 있다. 그리고 표현식은 스크립트릿과 달리 변수나 메소드를 출력할 때 세미콜론(;)은 표기하지 않는다. (내부적으로 서블릿 코드로 변환될때 자동으로 세미콜론이 붙여지기 때문).
<%= 으로시작해서 %>으로 끝나게 되며 이 둘 사이에는 출력할 값이 위치한다.
위의 예제에서 1~10까지의 합을 sum 변수에 저장한 뒤 sum값을 출력할 때 <%=sum%>이 표현식을 사용함으로써 저장된 값을 출력 시키는 것이다.
3) 선언부(declaration)
: jsp에서 사용될 변수나 메소드를 선언할 수 있는 영역의 요소를 의미한다. jsp 페이지 내에서 변수 및 메소드를 선언하고 선언된 변수나 메소드를 이용하여 동적인 HTML 코드를 생성하는 데 사용한다.
선언문에서 선언된 변수를 멤버 변수라고 부른다.
* 멤버변수 : 클래스 안에 선언해야하며, 선언방식은 데이터 형과 변수명을 선언해야한다.(Ex. String name) 초기값을 지정하지않으면 JVM이 자동으로 자바 기본형타입은 0, 참조형 타입은 Null로 셋팅한다.
- 리턴타입 : 메서드의 실행결과 값의 타입을 지정.
- 메서드 이름 : 메서드의 이름을 확인.
- 파라미터 목록 : 콤마로 구분된 파라미터의 목록을 지정하고 파라미터는 매서드 내에서 사용될 변수.
- 값 : 메서드의 실행 결과로 사용될 값
'Spec UP - Backend > Java, JDK, Servlet' 카테고리의 다른 글
자바를 공부하기 전 기초 지식 (0) | 2021.12.17 |
---|---|
JSP 게시판 만들기 (0) | 2021.12.16 |
Java 기본 문법 구조 (0) | 2021.10.27 |
JSP / JSP 컨테이너 (0) | 2021.10.27 |
자바개발도구 JDK, Tomcat 다운로드 및 기본 설정 (0) | 2021.10.13 |
댓글