JSP - chapter01(1)

ZiSoOm·2021년 7월 12일
0

JSP

목록 보기
1/12

🎈JSP(Java Server Pages)

  • HTML코드내에 java 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>헬로 jsp</title>
</head>
<body>
<%
String str="헬로jsp!!";
%>
<!-- 표현식 -->
<h2><%=str%></h2>
</body>
</html>

출력 : 헬로~!!jsp!!

🎈스크립트 요소

동적으로 출력 결과 생성
-스크립트릿(Scriptlet)
<% %> 안에 자바 코드를 사용할 수 있음

  • 표현식(Expression)
    <%= %> 안에 스크립트릿 또는 선언부에서 선언된 변수나 메서드의 반환 값을 외부로 출력할 수 있음
  • 선언부(Declaration)
    <%! %> 안에 java 코드의 멤버변수와 메서드를 선언할 수 있음
  • 디렉티브
    <%@ %> 설정 부분(JSP 페이지에 대한 설정 정보)
    -page : JSP 페이지에 대한 정보를 지정(문서 타입, 출력 버퍼 크기, 오류 페이지 등)
    -taglib : 태그 라이브러리 지정
    -include : 다른 문서를 포함
    디렉티브 이름은 page이고, contentType 속성을 사용했으며, contentType 속성의 값은 text/html; charset=UTF-8이다.
  • TYPE
    -text/html
    -text/xml
    -text/plain
  • charset
    -utf-8
    -EUC-KR
    -ISO-8859-1

🎈현재시간 (now)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date"%>
<%
/*
now.jsp를 다시 실행하거나 새로 고침 하면 화면에 표시되는 시간 값이 변경됨 => 동적 자원
이유 : tomcat이 jsp를 매번 실행하기 때문에
*/
Date now = new Date();
%>
<!DOCTYPE html>
<html>
<head>
<title>현재 시간</title>
</head>
<body>
<!-- ISO-8859-1로 했을 때, 알파벳과 서유럽어 문자만 포함. 소스 코드 저장시 사용한 캐릭터 인코딩(UTF-8)과 page 디렉티브 contentType 속성의 캐릭터 셋(ISO-8859-1)이 다르기 때문에 글자가 깨짐 -->
현재 시간 : <%=now %>
</body>
</html>

출력 : 현재 시간 : Tue Jul 13 18:43:21 KST 2021

🎈calendar

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="java.util.Calendar"%>
<%
Calendar cal = Calendar.getInstance();
%>
<!DOCTYPE html>
<html>
<head>
<title>헬로 jsp</title>
</head>
<body>
<!-- 완전한 클래스 이름으로 사용해도 JSP 페이지가 올바르게 실행되지만 번거로움.
따라서, import 속성 사용하자. -->
오늘은
<%=cal.get(Calendar.YEAR)%>년
<%=cal.get(Calendar.MONTH)%>월
<%=cal.get(Calendar.DATE)%>일
입니다.
</body>

출력 : 오늘은 2021년 7월 13일 입니다.

🎈1~10까지의 합

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>1~10까지의 합</title>
</head>
<body>
<%
//--------스크립트 릿 코드 블록 시작------------
//변수 선언과 동시에 값을 대입
int sum = 0;
for(int i=1; i<=10; i++) {
	sum = sum + i;
} //end for
//--------스크립트 릿 코드 블록 끝--------------
%>

1부터 10까지의 합은 <%=sum %> 입니다.
<%
//두번째 스크립트릿 코드 블록
int sum2 = 0;
//11에서 20까지 누적해서 더해보자
for(int i=11; i <=20; i==) {
	sum2 += i;
}
%>
11에서 20까지의 합은 <%=sum2 %> 입니다.
<!-- 표현식은 변수 뿐만 아니라 숫자나 문자열 등의 값을 사용할 수 있음. -->
<%= 1 + 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 10 %>
</body>
</html>

출력 : 1부터 10까지의 합은 55입니다. 11에서 20까지의 합은 155 입니다. 55

0개의 댓글