본문 바로가기

JSP/Theory

Chapter 4. JSP Page 구성 요소

Chapter 4. JSP Page 구성 요소

1. JSP Page Directive

 - page Directive

1
<%@page%>
cs

  · JSP Page의 속성을 지정하는데 사용되는 Directive

  · Page Directive 속성

속성

기본값

설명

info

 

Page를 설정하는 문자열을 지정

language

“java”

JSP PageScript 요소에서 사용할 언어 지정

contentType

“text/html;chars et=ISO-8859-1”

JSP Page가 생성할 문서의 Type 지정

extends

 

자신이 상속 받을 Class를 지정

import

 

다른 Package에 있는 Class를 사용하고자 할 때 사용

session

“true”

HttpSession의 사용 여부를 지정

buffer

“8kb”

JSP Page의 출력 Buffer의 크기를 지정

autoFlush

“true”

출력 Buffer가 다 찰 경우에 저장되어 있는 내용의 처리를 설정

isThreadSafe

“true”

현재 PageMulti Thread의 허용 여부를 설정

errorPage

 

Error 발생 시 Error를 처리할 Page를 지정

isErrorPage

“false”

해당 PageError Page로 지정

pageEncoding

“ISO-8859-1”

해당 Page의 문자 Encoding을 지정

isELIgnored

JSP Version에 따라 다름

표현 언어(EL에 대한 지원 여부를 설정

 - include Directive

1
<%@ include file = “포함될 File의 URL”%>
cs

  · 여러 Page에서 공통적으로 사용되는 내용이 있을 경우 해당 내용을 별도로 File에 저장해 필요한 JSP Page 내에 삽입하는 기능

  · include Directive 처리과정

 - HTML5 기본 문법

  · HTML5 Web Page 기술 방식

1
2
3
4
5
6
7
<header>
      <nav></nav>
</header>
<section id=“”>
</section>
<footer>
</footer>
cs

  HTML5

   ▹ <section></section>을 사용해 영역을 구분

   ▹ Java Script가 담당하던 처리의 일부를 HTML Tag의 속성에서 처리

   ▹ 한글 Encoding : UTF-8

  CSS

   ▹ 화면에 HTML Tage를 표현

   ▹ JavaScript가 담당하던 처리의 일부를 담당

 Javascript

   ▹ HTML5, CSS가 처리할 수 없는 기능 등을 담당

   ▹ Canvas에서 사용하면 Game도 작성 가능

  · HTML5에 추가된 Tag

  ◦ 구조적 Elements

   ▹ 구역을 나누는 Block의 요소

   ▹ HTML4의 <div></div> Tag를 대체

   ▹ 각 요소별 설명

요소

설명

header

Site의 소개나 Navigation 등을 표시

nav

Site Navigation 항목 표시(Ex. <nav><a href=“#intro”>기관소개</a></nav>)

article

독립적인 Contents를 표시

section

일반적인 문서나 Appliction 영역을 표시, Section의 제목을 나타내는<h1>~<h6>와 같이 사용

aside

본문의 내용과는 독립적인 SidebarContents를 표시

footer

Site의 제작사나 저작권의 정보 등을 주로 표시

  ◦ Multimedia Elements

   ▹ Plug-in 없이 Multimedia를 재생할 수 있게 해주는 요소

   ▹ 각 요소 별 설명

    ▸  audio

1
2
3
<audio controls>
      <source src = “play1.mp3” type = “audio/mpeg”/>
</audio>
cs

     ◽  Audio File 재생

    ▸  video

1
2
3
<video width=“320” height=“240” controls>
      <source src=“movie1.mp4 type=”video/mp4“>
</video>
cs

     ◽  Video File 재생

  ◦ Other Elements

   ▹ canvas

1
<canvas id=“canvas1” width=“320” height=“240”/>
cs

    ▸  Web 상에게 Graphic 표시

    ▸  JavaScript 및 API와 같이 사용해서 다양한 Application을 만들 수 있다.

    ▸  Canvas의 제어는 JavaScript가 담당

   ▹ command

1
<command type=“command” label=“Open” onclick=“open()”>Open</command>
cs

    ▸  사용자 실행 명령어 표시

   ▹ datalist

1
2
3
4
5
<datalist id=“bro”>
      <option value=“IE”>
      <option value=“Chrome”>
      <option value=“Safari”>
</datalist>
cs

    ▸  사용자가 Text 랴딩에 입력 시 선택할 수 있는 값의 목록을 표시

   ▹ details

1
2
3
4
<details>
<summary>Copyright</summary>
<p>저작권 표시</p>
</detais>
cs

    ▸  추가적인 정보나 사용자가 요청하는 정보를 표시

   ▹ embed

1
<embed src=“a.swf”>
cs

    ▸  Plug-in Contents 표시

   ▹ figure

    ▸  설명 글을 붙일 대상을 정의

   ▹ figcaption

1
2
3
4
<figure>
      <img src=“imges/a.jpg” alt=Logo>
      <figcation>Team Logo</caption>
</figure>
cs

    ▸  <figure>로 정의한 대상에 설명글을 붙임

   ▹ keygen

1
<keygen name=“security”>
cs

    ▸  Server로 양식 전송 시 한 쌍의 Key를 생성해 private key는 Local에, public key는 Server에 저장 

   ▹ mark

1
<p>본 Web Site의 <mark>문의</mark></p>
cs

    ▸  Text에 형광펜을 칠한 것과 같은 강조 효과

   ▹ meter

1
<meter value=“2” min=“1” max=“10”>10점 만점 중 2점</meter>
cs

    ▸  측정값을 표시

   ▹ output

1
2
3
4
5
<form oninput=“x.value=paraseInt(a.value)+parseInt(b.value)”>
<input type=“number” id=“a” value=“5”>
+<input type=“number” id=“b” value=“10”>
=<output name=“x” for=“a b”></output>
</form>
cs

    ▸  수학적 계산의 결과 값을 표시

   ▹ progress

1
<progress value=“30” max=“100”></progress>
cs

    ▸  시간이 걸리는 작업을 막대로 표시

   ▹ time

1
<p>날짜 : <time datetime=“2015-09-07”></time></p>
cs

    ▸  날짜나 시간을 표시

  · HTML5에서 변경된 Tag

요소

설명

a

href 속성 없이 사용하면 null Link로 사용

address

실제의 주소 표시

b

중요하지는 않지만 Text를 진하게 표시할 때 사용

hr

단락의 주제를 바꿀 때 사용

I

주요한 정보를 기울임꼴로 표시

menu

실제 문서 Menu 정보를 제공하는데 사용

small

세부 주석이나 법적 인쇄 문서에서 작은 글자 정보 표시

strong

중요한 정보를 진하게 표시

  · HTML5에서 제거된 Tag

  ◦ CSS에서 대체할 수 있어 사용하지 않는 Tag

   ▹ basefont, big, center, frame, frameset, frameset, noframes, s, strike, tt, u

  ◦ 다른 Tag와 사용법에서 혼란을 주어 더 이상 사용되지 않는 Tag

   ▹ acronym, applet, isindex, dir, noscript

  · 새로 추가된 속성

  ◦ autocomplete

1
<input type“text” id=“name” name=“name” autocomplete/>
cs

   ▹ 자동 완성 기능을 켜거나 끔

   ▹ <input> Tag에서 사용

  ◦ autofocus

1
<input type“text” id=“name” name=“name” autofocus>
cs

   ▹ 입력 Field에 Focus를 넘김

   ▹ <input>, <select>, <textarea>, <button> Tag에서 사용

  ◦ async

1
<script src=“demo_async.js” async></script>
cs

   ▹ Script를 실행할 수 있게 되면 비동기적으로 실행

   ▹ <script> Tag에서 사용

  ◦ label

1
2
3
4
5
<menu label=“파일”>
      <button type=“button” onclick=“fileNew()”>새파일</button>
      <button type=“button” onclick=“fileOpen()”>열기</button>
      <button type=“button” onclick=“fileSave()”>저장</button>
</menu>
cs

   ▹ Menu 명을 지정

   ▹ <menu> Tag에서 사용

  ◦ manifest

1
2
3
4
5
6
<html manifest=“test.appache”>
<head>
<title>test</title>
</head>
......
</html>
cs

   ▹ Off-Line Web Cache를 사용 시 manifest Filedml 경로 지정

   ▹ <html> Tag에서 사용

  ◦ min, max

1
<input type=“number” id=“age” name=“age” value=“20” min=“20” max=“99”/>
cs

   ▹ 숫자 범위를 지정 시 최소, 최대값 지정

   ▹ <input> Tag에서 사용

  ◦ multiple

1
2
3
4
<form action=“process.jsp”>
      Upload할 File 선택 : <input type=“file” name=“files” multiple>
      <input type=“submit”>
</form>
cs

   ▹ 여러 개의 값을 허용

   ▹ <input> Tag에서 사용

  ◦ novalidate

1
<form adction=“process.jsp” novalidate>
cs

   ▹ Server로 양식을 전송 시 유효했는지 보증할 수 없음

   ▹ <form> Tag에서 사용

  ◦ pattern

1
<input type=“text” name=“areaCode” pattern=“[A-Za-z]{3}” title=“Area Code(3)”>
cs

   ▹ 조건을 사용한 일반식을 표시

   ▹ <input> Tag에서 사용

  ◦ placeholder

1
<input id=“name” name=“name” type=“text” placeholder=“홍길동” autofocus>
cs

   ▹ 입력 Field에 입력 Hint 표시

   ▹ 입력하기 위해 Field를 Click하면 Hint 내용은 사라짐

   ▹ <input>, <textarea> Tag에서 사용

  ◦ required

1
<input id=“name” name=“name” type=“text” placeholder=“홍길동” autofocus required>
cs

   ▹ 필수 입력 Field를 설정

   ▹ <input>, <textarea> Tag에서 사용

  ◦ reversed

1
2
3
4
5
<ol reversed>
      <li>JAVA</li>
      <li>JSP</li>
      <li>HTML5</li>
</ol>
cs

   ▹ 목록의 번호가 역순으로 표시

   ▹ <ol> Tag에서 사용

  ◦ scoped

1
2
3
<style scoped>
      p {color : black;}
</style>
cs

   ▹ 해당 Element의 부모와 자식 Element가 Style의 적용 대상

   ▹ 지정하지 않으면 문서 전체

   ▹ <style> Tag에서 사용 

  ◦ start

   ▹ ordered list의 시작값을 지정

   ▹ <ol> Tag에서 사용

  ◦ step

   ▹ 숫자나 범위를 지정할 때 값의 단계값을 지정

   ▹ <input> Tag에서 사용

  ◦ type

1
2
3
4
5
6
7
8
9
<menu type=“toolbar>
<li>
<menu label=“파일”>
      <button type=“button” onclick=“fileNew()”>새파일</button>
      <button type=“button” onclick=“fileOpen()”>열기</button>
      <button type=“button” onclick=“fileSave()”>저장</button>
</menu>
</li>
</menu>
cs

   ▹ Menu의 종류 선택

   ▹ 선택할 수 있는 값은 toolbar, context, list가 있음

   ▹ <menu> Tag에서 사용

  ◦ value

   ▹ Item의 값을 지정

   ▹ <li> Tag에서 사용

  · 제거된 속성

  ◦ CSS로 대체 가능하기 때문에 더 이상 사용하지 않는 속성

   ▹ align, background, border, cellpadding, cellspacing, frame, height, width, size, type, valign etc.


2. JSP Page의 Script Elements

 - 선언문(Declaration)

1
<%!%>
cs

  · 전역 변수 선언 및 Method 선언

 - Scriptlet

1
<%%>
cs

  · Programming Code 기술

 - 표현식(Expression)

1
<%=%>
cs

  · 화면에 출력할 내용 기술

  · 변수 값이나 Method 반환 값 등을 출력할 때 주로 사용됨

 - 주석

1
2
3
4
<!-- -->
<%-- -->
//
/* */
cs

  · Program의 실행에는 영향을 미치지 않지만 Program의 이해 및 Source Code의 분석에 필요한 문구 기술


5. Tomcat 환경에서 한글 처리

 - Server에서 Web Browser에 응답되는 Page의 화면 출력 시 한글 처리

1
<@ page contentType=“text/html;charset=utf-8”%>
cs

 - Web Browser에서 Server로 넘어오는 Parameter 값에 한글이 있는 경우 한글 처리

1
<% request.setCharacterEncoding(“utf-8”);%>
cs


'JSP > Theory' 카테고리의 다른 글

Chapter 3. JSP 개발환경 구축 II  (0) 2015.09.06
Chapter 2. JSP 개발환경 구축 I  (0) 2015.09.06
Chapter 1. Overview of JSP  (0) 2015.09.05