jsp ÄÁÅ×À̳ʿ¡ ÇØ´ç ÆäÀÌÁöÀÇ Æ¯¼öÇÑ Ã³¸® Á¤º¸¸¦ ³Ö°íÀÚ ÇÒ ¶§ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î »ç¿ëÇÒ ½ºÅ©¸³Æþð¾î¸¦ ÁöÁ¤Çϰųª, ´Ù¸¥ ÆäÀÌÁöÀÇ ÄÁÅÙÆ®¸¦ »ðÀÔÇÏ°í, Ä¿½ºÅÒ ÅÂ±× ¶óÀ̺귯¸®¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëµÈ´Ù.
Áö½ÃÀÚ´Â ºê¶ó¿ìÀú »ç¿ëÀÚ¿¡°Ô´Â º¸ÀÌÁö ¾Ê´Â´Ù.
1. page Áö½ÃÀÚ
jsp Áö½ÃÀÚÁß °¡Àå º¹ÀâÇÑ ±¸Á¶·Î µÇ¾î ÀÖ´Ù.
±¸ ¹® |
<%@ page ¼Ó¼º1="°ª1" ¼Ó¼º2="°ª2" ... %> |
XML ±â¹Ý ±¸ºÐ |
<jsp:directive.page ¼Ó¼º1="°ª1" ¼Ó¼º2="°ª2" ... /> |
¼Ó¼º ¼³Á¤Àº À§ÀÇ µÎ°¡Áö ¹æ¹ý¿¡ µ¿ÀÏÇÏÁö¸¸, xml±â¹ÝÀ¸·Î ½ºÅ¸ÀÏ »ç¿ëÇÏ·Á¸é ÆäÀÌÁö Àüü°¡ xml ½ºÅ¸ÀÏ·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù´Â Á¦¾àÀÌ µû¸¥´Ù.
1) page Áö½ÃÀÚÀÇ attribute
¼Ó¼º |
°ª |
±âº»°ª |
»ç¿ë¿¹ |
info |
ÅؽºÆ® ¹®ÀÚ¿ |
¾øÀ½ |
info = " park w.g" |
language |
½ºÅ©¸³Æà ¾ð¾î |
"java" |
language="java" |
contentType |
MIME ŸÀÔ, ¹®ÀÚÁýÇÕ |
|
contentType="text/html;charset=iso-8859-1" |
pageEncoding |
¹®ÀÚÁýÇÕ |
"ios-8859-1" |
pageEncoding="ios-8859-1" |
extends |
Ŭ·¡½º À̸§ |
¾øÀ½ |
extends="testWeb" |
import |
Ŭ·¡½º/ÆÐÅ°ÁöÀ̸§ |
¾øÀ½ |
import="java.util.*, java.text.*" |
session |
ºÒ¸° Ç÷¡±× |
"true" |
session="true" |
buffer |
¹öÆÛÅ©±â ¶Ç´Â false |
"8kb" |
buffer="12kb" or |
autoFlush |
ºÒ¸° Ç÷¡±× |
"true" |
autoFlush="true" |
isThreadSafe |
ºÒ¸° Ç÷¡±× |
"true" |
isThreadSafe="true" |
errorPage |
·ÎÄÃ url |
¾øÀ½ |
errorPage="error1.jsp" |
isErrorPage |
ºÒ¸° Ç÷¡±× |
"false" |
isErrorPage="false" |
À§ÀÇ Áö½ÃÀÚ¸¦ »ç¿ëÇÒ ¶§ ÁÖÀÇÇÒ Á¡Àº import¸¦ Á¦¿ÜÇÏ°í´Â Áߺ¹Çؼ »ç¿ëÇÏ¸é ¾ÈµÈ´Ù.
(1) info
ÆäÀÌÁöÀÇ ¿ªÇÒÀ» ¼³¸íÇØ ÁÖ´Â µµÅ¥¸ÕÆ® ¹®ÀÚ¿ Ãß°¡ÇÑ´Ù. ÀÌ ¹®ÀÚ¿Àº jsp ÄÁÅ×À̳ʳª ±âŸ ÇÁ·Î±×·¡¹Ö µµ±¸¸¦ ÅëÇØ ÆäÀÌÁö ¿ä¾à Á¤º¸¸¦ ÃßÃâÇÒ ¶§ »ç¿ëµÇ±âµµ ÇÑ´Ù. º¸Åë ÆäÀÌÁöÀÇ ÀÛ¼ºÀÚ³ª ¹öÀü, ÀúÀÛ±Ç Á¤º¸µîÀ» ±â¼úÇÑ´Ù.
<%@ page info="make by park, Copyright 2002 " %>
(2) language
ÆäÀÌÁö¿¡¼ »ç¿ëÇÒ ½ºÅ©¸³Æà ¾ð¾î¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÑ´Ù. ±âº»À¸·Î "java"¸¦ »ç¿ëÇÑ´Ù. ¸¸¾à includeµÈ ¹®¼°¡ ÀÖ´Ù¸é language¼Ó¼º¿¡¼ ÁöÁ¤ÇÑ µ¿ÀÏÇÑ ¾ð¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
<%@ page language="java" %>
(3) contentType
jsp ÆäÀÌÁö°¡ »ý¼ºÇÏ´Â ÀÀ´äÀÇ MIME ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù. MIMEŸÀÔµµ ±× Á¾·ù°¡ ´ë´ÜÈ÷ ¸¹Áö¸¸ ÁÖ·Î »ç¿ëµÇ´Â MIMEÀº "text/html", "text/xml", "text/plain" µîÀ» µé ¼ö°¡ ÀÖ´Ù.
¶ÇÇÑ ¹®ÀÚ¿¼ÂÀ» ÁöÁ¤ÇÒ ¼ö°¡ Àִµ¥ ÀÌ´Â ÆäÀÌÁö°¡ »ç¿ëÇÒ Àüü ¹®ÀÚ¿À» ´ëüÇÑ´Ù.
<%@ page contentType="text/html; charset=ios-8859-1"%>
¸¸¾à ÇѱÛÀ» »ç¿ëÇϴµ¥ ¹®Á¦°¡ ¹ß»ýÇϰųª ±úÁø ¹®ÀÚ·Î º¸ÀÎ´Ù¸é ¾Æ·¡¿Í°°ÀÌ Ã³¸®ÇÑ´Ù.
<%@ page contentType="text/html; charset=euc-kr" %>
or
<%@ page contentType="text/html; charset=ksc5601" %>
(4) pageEncoding
pageEncoding ¼Ó¼ºÀº jsp 1.2¿¡¼ »õ·Î µµÀÔµÈ ¹æ¹ýÀ¸·Î contentTypeÀÇ charset°ú °°Àº ±â´ÉÀ» ÇÑ´Ù.
<%@ page pageEncoding="ios-8859-1" %>
(5) extends
jsp ¼ºí¸´ Ŭ·¡½º°¡ »ó¼Ó¹ÞÀ» ½´ÆÛŬ·¡½º¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¼Ó¼ºÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é jspÄÁÅ×À̳ʴ jspÆäÀÌÁöÀÇ ½´ÆÛ Å¬·¡½º¸¦ ÀÚµ¿À¸·Î ã¾Æ »ç¿ëÇϴµ¥ ÀϹÝÀûÀ¸·Î ÀÌ·¸°Ô ó¸®Çؾ߸¸ ÃÖ°íÀÇ ¼º´ÉÀ» ¹ßÈÖÇÏ°Ô µÈ´Ù. µû¶ó¼ ÀÌ ¼Ó¼ºÀº Àß »ç¿ëµÇÁö ¾Ê´Â´Ù.
<%@ page extends =" info.myit.myJspPage" %>
(6) import
Áߺ¹Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼Ó¼ºÀ̸ç jspÆäÀÌÁö¿¡¼ ÂüÁ¶ÇÒ Àڹ٠Ŭ·¡½º¸¦ È®ÀåÇÑ´Ù.
<%@ page import="java.awt.*" %>
<%@ page import="java.awt.*,
java.util.*" %>
µî°ú °°ÀÌ importÇÒ Å¬·¡½º¸¦ ","»ç¿ëÇÏ¿© ¿¬¼ÓÇؼ ±â¼úÇÒ ¼ö ÀÖ´Ù.
(7) session
jspÆäÀÌÁö°¡ ¼¼¼Ç°ü¸®¿¡ °¡´ãÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. ±âº»°ªÀÌ "true"À̱⠶§¹®¿¡ ¼¼¼Ç°ü¸®¿¡ ÀÚµ¿À¸·Î °¡´ãÇÏ°Ô µÈ´Ù. ¸¸¾à ¼¼¼Ç¿¡ °¡´ãÇÏÁö ¾ÊÀ» °æ¿ì "false"°ªÀ» ÁÖ¸é ¼º´ÉÀÌ ¾à°£ Çâ»óµÇ´Â °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù.
<%@ page session="true" %>
(8) buffer
Ãâ·Â ¹öÆÛ¸µÀ» Á¶Á¤ÇÑ´Ù. ¿¹¸¦ µé¾î ¹öÆÛ¸¦ ÅëÇÏÁö ¾Ê°í ¹Ù·Î À¥ ºê¶ó¿ìÀú¿¡¼ º¸³»·Á¸é
<%@ page buffer="none"%>
¶ó°í ÇÏ¸é µÈ´Ù. ±âº» ¹öÆÛÀÇ Å©±â´Â 8kbÀÌÁö¸¸ jsp ÄÁÅ×À̳ʴ »óȲ¿¡ µû¶ó ´õ Å« ¹öÆÛÀ» ÀâÀ» ¼ö ÀÖ´Ù. Áï, buffer¼Ó¼ºÀ¸·Î Á¤ÇÑ ¹öÆÛÀÇ Å©±â´Â ÃÖ¼ÒÀÇ Å©±â¶ó°í »ý°¢ÇÏ¸é µÈ´Ù.
<%@ page buffer="12kb" %> // 12kbÅ©±âÀÇ ¹öÆÛ¸¦ ÁöÁ¤
(9) autoFlush
buffer¼Ó¼º°ú ¹ÐÁ¢ÇÑ °ü°è°¡ ÀÖ´Â ¼Ó¼ºÀ¸·Î ¹öÆÛ¸¦ ÀÚÁ¾À¸·Î ºñ¿ï °ÍÀΰ¡¸¦ ÆÇ´ÜÇÏ´Â ¼Ó¼ºÀÌ´Ù. ±âº»°ªÀº "true"ÀÌÁö¸¸ Ãâ·Â °á°ú¸¦ ÃÖ´ëÇÑ ´ÊÃß±æ ¿øÇÑ´Ù¸é "false"¸¦ ÁÙ ¼ö ÀÖ´Ù. ±×·¯³ª À̶§ ÁÖÀÇÇÒ Á¡Àº bufferÀÇ ¼Ó¼ºÀÌ "none"ÀÏ ¶§ autoFlush¼Ó¼ºÀ» "false"·Î ÁÙ ¼ö ¾ø´Ù.
<%@ page autoFlush="true" %>
(10) isThreadSafe
ÀÌ ¼Ó¼ºÀº jspÆäÀÌÁö°¡ ¼ºí¸´À¸·Î ÄÄÆÄÀ쵃 ¶§ ¿©·¯ °³ÀÇ µ¿½Ã ¿äû¿¡ ÀÀ´äÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ³Ö´À³Ä¸¦ °áÁ¤ÇÏ´Â ¼Ó¼ºÀÌ´Ù. ¸¸¾à ¼Ó¼º°ªÀ» "false"·Î ÁÖ¸é µ¿½Ã¿¡ Àü´ÞµÈ ¿äû¿¡ ¼øÂ÷ÀûÀ¸·Î ¹ÝÀÀÇϱ⠶§¹®¿¡ »ç¿ëÀÚµéÀº ¾öû³ Àγ»½ÉÀ» °¡Á®¾ß ÇÑ´Ù.
±×·¯³ª, ¼Ó¼º°ªÀ» "true"·Î ÁÖ¾úÀ» ¶§µµ °ü½ÉÀ» ±â¿ï¿©¾ß ÇÒ ºÎºÐÀÌ ¸¹´Ù. jspÆäÀÌÁö¿¡ ÀÇÇØ µ¥ÀÌÅÍ º£À̽º¸¦ ¿¬µ¿ÇÑ´Ù¸é, µ¥ÀÌÅÍ º£À̽º »ç¿ë¿¡ Ưº°ÇÑ Á¶Ä¡°¡ ¾ø´ÂÇÑ ¿©·¯°³ÀÇ ¾²·¹µå¿¡ ÀÇÇØ ¾ÈÀüÇÏ°Ô µ¥ÀÌÅÍ º£À̽º¸¦ ó¸®ÇÒ ¼ö´Â ¾ø´Ù. ÀÌ·± °æ¿ì ÆäÀÌÁö ¿¢¼¼½ºÁß ·±Å¸ÀÓ ¿¡·¯°¡ ¹ß»ýÇÒ È®À²ÀÌ ³ô¾ÆÁø´Ù.
ÀÌ·¯ÇÑ ºÎºÐÀ» ÇØ°áÇÏ·Á¸é
µ¥ÀÌÅͺ£À̽ºÀÇ poolÀ» ¿¢¼¼½ºÇÏ¿© ¹Ì»ç¿ë µ¥ÀÌÅͺ£À̽º°¡ »ý±æ ¶§ ±îÁö ±â´Ù¸®°Ô ÇÏ°Ô Çϰųª, synchronized Å°¿öµå¸¦ »ç¿ëÇÏ¿© ÇØ´ç ó¸® ºÎºÐÀ» µ¿±âÈ ½Ãŵ´Ï´Ù.
ÃÖ¼ÒÇÑÀÇ ¼öÁ¤À¸·Î ¾ÈÀü¼ºÀ» ±âÇÒ·Á¸é ¼Ó¼º°ªÀ» "false"·Î ÁÖ¾î ó¸®ÇÒ ¼öµµ ÀÖÁö¸¸ º¸ÆíÀûÀ¸·Î "true"¸¦ ÁÖ´Â °ÍÀÌ µæÀÌ ¸¹´Ù.
<%@page isThreadSafe="ture"%>
(11) errorPage
jsp¿¡¼ ó¸®ÇÏÁö ¸øÇÏ´Â ¿À·ù°¡ ¹ß»ýÇÒ ¶§ ±âº» ¿¡·¯ ÆäÀÌÁö¸¦ »ç¿ëÇÏÁö ¾Ê°í ƯÁ¤ ÆäÀÌÁö¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ ¶§ »ç¿ëÇÑ´Ù.
<%@page errorPage="url"%>
urlÀº Àý´ë °æ·Î¿Í »ó´ë°æ·Î ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
<%@ page errorPage="/errorpage/error1.html"%>
À¥¼¹öÀÇ Àý´ë°æ·Î "/errorpage"¾È¿¡ error1.htmlÀ¸·Î ¿¬°áµÈ´Ù.
<%@ page errorPage="../errorpage/error1.html"%>
Àº ÇöÀç µð·ºÅ丮ÀÇ »óÀ§µð·ºÅ丮¿¡¼ "errorpage"°æ·Î¾ÈÀÇ error1.htmlÆäÀÌÁö·Î ¿¬°áµÈ´Ù.
ÇÑ°¡Áö ÁÖÀÇÇÒÁ¡Àº errorPage ¼Ó¼ºÀ» »ç¿ëÇÏ°íÀÚ ÇÒ ¶§´Â ÇöÀçÀÇ ÆäÀÌÁö Á¤º¸°¡ ÇѹøÀÌ¶óµµ ºê¶ó¿ìÀú·Î Àü¼ÛµÇ¾î¼´Â ¾ÈµÈ´Ù´Â °ÍÀÌ´Ù. µû¶ó¼ autoFlush ¼Ó¼ºÀ» false·Î ¼³Á¤ÇÏ¿©¾ß ÇÑ´Ù.
(12) isErrorPage
ÇØ´ç ÆäÀÌÁö°¡ ¿¡·¯ ÆäÀÌÁö·Î ÀÛµ¿Çϵµ·Ï ÇÒ ¶§ »ç¿ëÇÑ´Ù.
<%@ page isErrorPage="true"%>
´ëºÎºÐÀÇ ÆäÀÌÁö°¡ ¿¡·¯ ÆäÀÌÁö·Î ÀÛµ¿ÇÏÁö ¾Ê±â ¶§¹®¿¡ ±âº»°ªÀº falseÀÌ´Ù.
2. include Áö½ÃÀÚ
ÁÖ¾îÁø ÆÄÀÏÀ» ÇöÀç ÆäÀÌÁö¿¡ »ðÀÔÇÏ°íÀÚ ÇÒ ¶§ »ç¿ëµÈ´Ù.
<%@ include file="file_url"%> or
<jsp:directive.include
file="file_url"/>
c¾ð¾îÀÇ #include¿Í ±× ±â´ÉÀÌ À¯»çÇÕ´Ï´Ù. ¹Ýº¹Çؼ ¿©·¯¹ø »ç¿ëÇÒ ¼ö ÀÖ´Ù.
±×·¯³ª ÇÑ°¡Áö ÁÖÀÇÇÒ Á¡Àº jspÄÁÅ×À̳ʴ ¾î¶² ÆäÀÌÁöÀÇ ³»¿ëÀÌ ¼öÁ¤µÇ¸é ÀÚµ¿À¸·Î ¼ºí¸´À¸·Î ÄÄÆÄÀϵǾîÁöÁö¸¸ include·Î »ðÀÔµÈ ÆÄÀÏÀÌ ¼öÁ¤µÇ¾ú´Ù°í ÀÚµ¿À¸·Î ÄÄÆÄÀϵÇÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù.
¸¸¾à includeµÈ ÆÄÀÏÀÌ ¼öÁ¤µÇ¾ú´Ù¸é includeÇÑ ÆÄÀÏÀÇ ÀúÀå ³¯Â¥¸¦ ¼öÁ¤ÇØ Áְųª, ³»¿ëÀ» ´Ù½Ã Çѹø ÀúÀåÇØ ÁÖ¾î¾ß ÇÑ´Ù.
3. taglib Áö½ÃÀÚ
jsp ÆäÀÌÁö°¡ »ç¿ëÇÒ Å±׶óÀ̺귯¸®¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÑ´Ù. ÅÂ±× ¶óÀ̺귯¸®´Â jsp±â´ÉÀ» È®ÀåÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Â Ä¿½ºÅÒ Å±׸¦ ¸ð¾Æ³õÀº °ÍÀ» ¸»ÇÑ´Ù.
<%@ taglib url="tag_library_url" prefix="tag_prefix"
%> or
<jsp:directive.taglib url="tag_library_url" prefix="tag_prefix"
/>
url¼Ó¼º°ªÀº ÇØ´ç ÅÂ±× ¶óÀ̺귯¸®ÀÇ ÅÂ±× ¶óÀ̺귯¸® ¼³¸íÀÚ(TLD:Tag Library Descriptor)ÀÇ À§Ä¡¸¦ ³ªÅ¸³»¸ç, prefix¼Ó¼ºÀº ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ÆäÀÌÁö¿¡¼ ÇØ´ç ¶óÀ̺귯¸®ÀÇ ÅÂ±× ¾Õ¿¡ ºÙ¿©Áö´Â XML ³×ÀÓ½ºÆäÀ̽º ½Äº°ÀÚ¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù.
¿¹¸¦µé¸é,
<%@ taglib url="/abc" prefix="alpha" %>
¶ó°í ÁöÁ¤Çϸé ÀÌ ¶óÀ̺귯¸®ÀÇ Å±׿¡ "korea"°¡ ÀÖ´Ù¸é
<alpha:korea/>
¶ó°í »ç¿ëÇÒ ¼ö ÀÖ´Ù.