티스토리 뷰

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>

 

Java코드는 확인 안됨

 

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
댓글