반응형
JSP(Java Server Pages)
HTML 페이지를 만들기 위한 방법 중 하나로
사용자가 코드를 작성하고 컴파일을 거치지 않고 서버에서 실행 가능
예제) 10명의 구성원 중 하나인 나는 랜덤으로 5개의 역할 중 하나를 부여받고, 나와 같은 역할을 가진 구성원의 명수 계산
지시자: <%@ %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
JSP 페이지의 전체적인 속성을 지정
1. page: JSP 페이지에 대한 정보를 지정
- language: 언어 지정
- import: 패키지 import
- errorPage: 설정된 페이지에서 에러가 발생하였을 때, 미리 만들어 둔 에러페이지 호출
- contentType: HTML 문서로 작성하기 위해 text/html 라고 작성
- pageEncoding: 출력 문자 인코딩(기본: ISO-8859-1 / 한글: utf-8)
2. include: JSP 페이지의 특정 영역에 다른 문서를 포함
3. taglib: JSP 페이지에서 사용할 태그 라이브러리를 지정
선언자: <%! %>
<%!
List<String> party = new ArrayList<String>(); // arraylist 생성
String roll; // 역할을 부여받을 변수 생성
%>
전역변수와 메서드를 선언할 때 사용하는 것
스크립트릿: <% %>
<%
int pick = (int)(Math.random() * 5) + 1; // 1부터 5까지의 난수를 받아
if(pick == 1){
roll = "마법사";
}else if(pick == 2){
roll = "사제";
}else if(pick == 3){
roll = "전사";
}else if(pick == 4){
roll = "도적";
}else{
roll = "사냥꾼";
} // 5개 중 하나의 역할을 부여
party.add(roll); // 리스트에 해당 역할을 추가
int countSameRoll = 0; // 같은 역할을 카운트할 변수 생성
for(String player : party){
if(roll.equals(player)){
countSameRoll++;
}
}
%>
지역변수와 메서드 내부의 코드를 작성하는 것으로 페이지 요청이 발생 시 마다 실행할 로직을 작성
표현식: <%= %>
<h2>당신의 역할</h2>
<p>
당신에게 부여된 역할은 <b>[<%= roll %>]</b> 입니다.<br>
현재 파티에 당신과 같은 역할을 가진 플레이어는 <%= countSameRoll %>명입니다.<br>
</p>
<p>
현재 파티 구성<br>
변수 값 혹은 메서드 호출 결과 값을 출력하기 위해 out.println을 대체하여 사용
결과 값의 데이터 타입은 String으로 세미콜론을 사용할 수 없음
주석
JSP: <%-- --%>
HTML: <!-- -->
<%-- 아래의 내용은 body 내부에 작성된 스크립트릿 --%>
<%
if(party.size() == 11){ // 구성원 10명이 넘으면
party.clear(); // 리스트 초기화
}
out.println(party.toString());
%>(<%= party.size() %>명 참가중)<br>
</p>
실제 프로그램에는 영향이 없고 프로그램 설명 등의 목적으로 사용, Java 주석도 혼용 가능
결과물
'Java 및 JSP' 카테고리의 다른 글
[JSP] Request 파라미터 값 전달 (0) | 2021.08.02 |
---|---|
[JSP] 내장 객체 - Request (0) | 2021.08.01 |
[Java] 향상된 For 문 (0) | 2021.07.30 |
[JSP] HTTP의 이해 (0) | 2021.07.29 |
[JSP] Tomcat 개발환경 구축 (0) | 2021.07.29 |