티스토리 뷰
1. JSP스크립 (Scripe)
- JSP문서안에 Java언어를 넣기 위한 방식들. 실제 개발에서 많이 쓰임
1-1 스크립트릿(scriptlet) <% java 코드 %>
- JSP페이지에서 Java언어를 사용하기 위한 요소 중 가장 많이 사용되는 요소.
- 우리가 알고 있는 거의 모든 Java코드를 사용할 수 있음.
1) JSP파일 HTML코드안에 <% %>기호를 통해 Java코드 입력
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
int i = 0;
while(true){
i++;
out.println("2 * " + i + " = " + (2*i) + "<br/>");
%>
===========<br />
<%
if(i>=9) break;
}
%>
</body>
</html>
2) 요청에 의한 코드 출력
- Java코드가 작동되어 반복문이 화면에 출력되는 것을 볼 수 있다.
3) 소스코드
- 서버에 출력된 화면의 소스코드를 확인하면 웹서버는 응답을 HTML로 하기 때문에 Java코드는 보이지 않는 것을 확인할 수 있음
1-2 선언 <%! Java 코드 %>
- JSP페이지 내에서 사용되는 변수 또는 메소드를 선언할 때 사용.
- 여기서 선언된 변수 및 메소드는 전역의 의미(페이지안에서 어느 곳에서나 사용가능)로 사용됨.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%!
int i = 10;
String str = "ABCDE";
%>
<%!
public int sum(int a, int b){
return a+b;
}
%>
<%
out.println("i = " + i + "<br />");
out.println("str = " + str + "<br />");
out.println("sum = " + sum(1,5) + "<br />");
%>
</body>
</html>
1-3 표현식 <%= Java 코드 %>
- JSP페이지 내에서 사용되는 변수의 값 또는 메소드 호출 결과값을 출력하기 위해 사용 됨.
- 결과값은 String 타입이며, ';'를 사용 할 수 없음.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%!
int i = 10;
String str = "abc";
private int sum(int a , int b){
return a+b;
}
%>
<%= i %><br />
<%= str %><br />
<%= sum(1,5) %>
</body>
</html>
2. 지시자
- JSP페이지의 전체적인 속성을 지정할 때 사용.
- page, include, taglib가 있으며, <%@ 속성 %>형태로 사용 됨.
2-1 page 지시자
- 해당 페이지의 전체적인 속성 지정
- 주로 사용되는 언어 지정 및 import문을 많이 사용
<%@ page import= "java.util.Arrays"%>
<%@ page language= "java" contentType= "text/html; charset=EUC-KR"
pageEncoding= "EUC-KR"%>
<%
int[] Arr = {10, 20, 30};
out.println( Arrays.toString(Arr));
%>
2-2 include
- 별도의 페이지를 현재 페이지에 삽입
- file속성을 이용.
- 반복되는 page(ex, header)위 쪽에 header를 include를 하면 어떤 파일을 만들던지 같은 내용이 들어갈 수 있다.
1) include대상이 되는 페이지(include01.jsp)와 내용이 들어갈 페이지(include.jsp) 생성
<!-- include.jsp file code -->
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1> this is include.jsp page.</h1>
<%@ include file="include01.jsp" %>
<h1> this is include.jsp page</h1>
</body>
</html>
<!-- include01.jsp file code -->
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1> this is include01.jsp page. </h1>
</body>
</html>
2) 출력 결과
3) 출력 결과 소스코드
- include를 통해 2개의 jsp파일을 사용했기 때문에 HTML 소스 코드가 2개 나옴.
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1> this is include.jsp page.</h1>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1> this is include01.jsp page. </h1>
</body>
</html>
<h1> this is include.jsp page</h1>
</body>
</html>
2-3 taglib
- 사용자가 만든 tag들을 태그라이브러리라고 함.
- 태그라이브러리를 사용하기 위해 taglib지시자를 사용
- uri 및 prefix 속성이 있으며, uri은 태그라이브러리의 위치 값을 가지며, prefix는 태그를 가리키는 이름 값을 가진다.
3. 주석
- 실제 프로그램에는 영향이 없고, 프로그램 설명의 목적으로 사용 되는 태그
- HTML 및 JSP 주석이 별도로 존재
3-1 HTML 주석
- <!- comments -->로 기술 하며, 테스트 용도 및 프로그램 설명 용도로 사용.
<!-- this is comment -->
<h1> This is not a comment </h1>
3-2 JSP 주석
- <%-- comments -->로 기술 하며, HTML주석과 마찬가지로 테스트 용도 및 프로그램 설명 용도로 사용.
- Java언어의 주석도 사용 가능. (//, /* */)
- 소스보기를 할 경우 웹브라우저에서 이미 코드가 처리되기 때문에 사용자에게 보여지는 화면의 소스코드에는 HTML코드 이외에는 보이지 않는다.
<%-- This is comment. --%>
This is not a comment.
'JSP > 인프런 JSP' 카테고리의 다른 글
10. 액션태그 (0) | 2020.02.12 |
---|---|
9. JSP 본격적으로 살펴보기 -3 (0) | 2020.02.07 |
7. JSP 본격적으로 살펴보기 -1 (0) | 2020.02.05 |
6. Servlet 본격적으로 살펴보기 -4 (0) | 2020.02.05 |
5. Servlet 본격적으로 살펴보기 -3 (0) | 2020.02.04 |
- 백준
- 20200510
- 생활코딩리눅스
- likelion
- 20200424
- 20200319
- 20200415
- 20200427
- 20200420
- 20200512
- 20201204
- 20200428
- 20200413
- 20200624
- 20200622
- chapter8
- 20200429
- 20200423
- 20200502
- 20200317
- 20200403
- 20200330
- 20200503
- 20200421
- 20200406
- 20200417
- chapter7
- 20200504
- 20200804
- 20200425
- Total
- Today
- Yesterday