19.04.26 JSP 페이지 디렉티브, 페이지 스크립트 요소 (동영상 5강~8강)

Back-End/JSP 2019. 4. 26. 14:44
728x90
반응형

- JSP 페이지 디렉티브 -



속 성

 설 명

기본값

language

JSP 스크립트 코드에서 사용되는 프로그래밍 언어를 지정한다.
    JSP 2.1 버전까지는 스크립트 언어로서 자바만을 지원하고 있다. 

java 

 contentType

JSP가 생성할 문서의 타입을 지정한다. 

 text/html

 import

JSP 페이지에서 사용할 자바 클래스를 지정한다. 

 

 session

JSP 페이지가 세션을 사용할지의 여부를 지정한다.
          "true" 일 경우 세션을 사용하고 "false"일 경우 세션을 사용하지 않는다. 

 true

 buffer

JSP 페이지의 출력 버퍼크기를 지정한다. 

"none" 일 경우 출력버퍼를 사용하지 않으며, "8kb" 라고 입력할 경우 8킬로바이트
         크기의 출력 버퍼를 사용한다.

 최소 8kb

 autoFlush

출력 버퍼가 다 찼을 경우 자동으로 버퍼에 있는 데이터를 출력 스트림에 보내고
            비울지의 여부를 나타낸다. "true" 일 경우 버퍼의 내용을 웹 브라우저에 보낸 후
            버퍼를 비우며, "false" 일 경우 에러를 발생시킨다. 

 true

 info

JSP 페이지에 대한 설명을 입력한다. 

 

 errorPage

JSP 페이지를 실행하는 도중 에러가 발생할 때 보여줄 페이지를 지정한다. 

 

 isErroePage

 현재 페이지에 에러가 발생될때 보여지는 페이지인지의 여부를 지정한다.
              "true"일 경우 에러페이지이며, "false"일 경우 에러 페이지가 아니다.

false 

 pageEncoding

JSP 페이지 자체의 캐릭터 인코딩을 지정한다.  

 




-JSP의 형식-


 

  <%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%> //jsp 페이지의 필수적인 요소


  page language=사용할 언어
  contentType=사용할 형식
  charset=문자셋


  <%
  안에 입력되면 language에 해당되는 언어로 인식됨.
  %>






-에러 코드 예제-


JSP 에서는 위쪽 형식에 <% errorPage="Error.jsp" isErrorPage="true"%> 코드를 붙여서 에러표시를 한다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@page import="java.util.Date" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.Date" errorPage="Error.jsp" isErrorPage="true"%>
 
    
<!DOCTYPE html html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm14/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content ="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 
나 화면에 보여지니?
 
<%
 
int sum = 10/0;//에러코드를 작성 어떤수를 0으로 나눌수가 없기 때문에 에러가 뜬다.
 
%>
 
</body>
</html>
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
    에러 페이지 입니다.
 
</body>
</html>
cs




-스크립트릿<%! %>-


스크립트릿은 가장 일반적으로 JSP 페이지에서 많이 쓰이는 스크립트 요소로
주로 프로그래밍의 로직을 기술할 때 많이 쓰인다.


스크립트릿에서 선언한 변수는 JSP 페이지가 서블릿으로 변환될때
지역변수로 사용된다. 



  <%!
   자바 코드 삽입

  %>





-선언문<%! %>-


선언문은 일반적으로 JSP 페이지에서 자바의 멤버변수 또는
멤버 메소드로 사용하고자 할때 주로 사용된다.


선언문의 변수는 서블릿으로 변환될 때 멤버변수로 변환되고
선언문에서의 메소드는 서블릿에서 메소드로 만들어진다.



 

  <%!

   자바 코드 삽입

  %>





-표현식 <%= %>-


표현식은 일반적으로 JSP페이지에서 자바의 System.out.println()과 유사하게 사용된다.
데이터 출력을 할때 주로 사용되는 프로그래밍의 로직 기술이다.


 

  <%=
   자바 코드 삽입

  %>





-예제 및 출력 결과-


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 
    <h2>화면에 구구단을 출력하시오</h2>
 
 
    <%
        //자바코드는 <%안쪽에 적기, <%=는 브라우저에 표시될 값
        for (int i = 2; i < 10; i++) {
 
            for (int j = 1; j < 10; j++) {
    %>
    <%=i%>
    +
    <%=j%>
    =
    <%=* j%>
    <%
        }
    %>
    <br>
    <%
        }
    %>
 
 
</body>
</html>
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
    <h2>화면에 구구단을 출력하시오</h2>
  //위에 코드와 같은 값이 출력됨 (이게 더 간단함)
    <%
        //자바코드는 <%안쪽에 적기, <%=는 브라우저에 표시될 값
        for (int i = 2; i < 10; i++) {
            for(int j = 1; j < 10; j++){
                
                out.write(i+ " * " + j + " = " +i*j); //out.write는 <%= 와 동일한 뜻을 가진다.
                
            }
        }
            
%>
 
 
 
</body>
</html>
cs


  <참고>


  JSP 파일을 콘솔창에 출력이 되도록 컴파일을 해야 jsp.java 파일과 jsp.class 파일이 추가가 된다. 




-예제-


선언문- <%만쓰면 메소드 안에서 문자만 출력이 가능하기 때문에  메소드 안에 메소드가
           선언이 될수 없어, <%!를 쓰면 멤버 메소드로 생성이 되게 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
    <%!public void inCrement() {
 
    }%>
 
    <%!int a = 10//멤버 메소드내에서 만들어짐(멤버변수임)%>
 
    <%
        int a = 100//서비스 메소드내에서 만들어짐 (지역변수임) 따라서 2개가 중복이 안됨
    %>
 
 
 
</body>
</html>
cs


728x90
반응형
: