반응형

#41강 JSP의 코드 블록

*출력 문장 사이에 자바 코드 입력 방법

- jsp 라는 확장자를 갖고 있는 문서를 요청 받으면 제스퍼는 서블릿 코드를 만들어 준다.

1. jsp에 환영합니다. 입력 시

- 입력 된 '환영합니다'를 출력 해달라는 것으로 인식하여 서비스 함수 내에 출력하는 코드를 삽입하게 된다.

2. jsp에 y = x + 3; 입력 시

- 코드로서 출력되길 원할 경우 서비스 함수 내에 자바 코드로 그대로 들어가게 된다.

y = x + 3;

- 혹은 jsp 자체에 다음과 같이 입력 시 서비스 함수 내에 자바 코드로 들어가게 된다.

// jsp 확장자 자료에 아래와 같이 입력 시 자바 코드(y = x + 3;)로 서비스 함수에 들어가게 된다.

<% 
y = x + 3; 
%>

3. jsp에 y의 값은 : y 입력 시

- 우측 y의 값이 출력되길 원하면 아래와 같이 jsp 문서에 입력할 경우 서비스 함수 내에 y의 값은 문자열로, 우측의 y는 자바 코드로서 입력 되게 된다.

// jsp 확장자 문서에 아래 값 입력 시
y 의 값은 : <% out.print(y) %>

// 서비스 함수 내에 아래와 같이 입력되게 된다.
out.wrtie("y의 값은");  // write는 일반적인 문자열 출력을 위한 전문 함수.
out.print(y); // print는 다양한 형태의 자료형을 출력할 수 있는 것.

- 하지만 위와 같은 방법은 불편해서 이를 쉽게 할 수 있는 방법으로 jsp 문서에 아래와 같이 입력하게 되면 동일하게 서비스 함수 입력되게 된다.

// jsp 확장자 문서에 입력된 값
y의 값은 : <%=y%>

// 서비스 함수에 입력되는 값
out.write("y의 값은");
out.print(y);

4. 매서드 정의 관련

- jsp 확장자 문서에 아래처럼 입력을 하게 되면 서비스 함수(매서드) 안에 들어가게 되는데, 자바에서는 매서드 안에 매서드를 정의 할 수 없으므로 오류 발생하게 된다.

<%
public int sum(int a, int b) {

return a + b;

}
%>

- !표를 입력해 주면 기존에 서비스 함수 내에 생성되었던게 외부 영역에 생성, 매서드 정의가 가능해진다.

<% !
public int sum(int a, int b) {

return a + b;

}
%>

5. 페이지 지시자

- <%@ %>는 초기 설정을 위한 페이지 지시자로서 인코딩 방식, 컨텐츠 타입 등 설정 시 지시자 방식을 사용해야 출력을 진행하는 어떠한 코드보다 앞서서 진행 된다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
반응형

+ Recent posts