<?xml version="1.0" encoding="euc-kr" ?>
<?xml-stylesheet type="text/xsl" href="http://okjsp.pe.kr/lecture/okjsplec_c.xsl" ?>
<lecture>
	<title>Tomcat 4.1 ROOT directory</title>
	<who>kenu</who>
	<when>2002-09-09 12:14¿ÀÀü</when>
	<what>
		<text>
		ÀÌ¹ø °­ÁÂ´Â Tomcat 4.1.10 ¹öÀüÀÇ µð·ºÅä¸®¸¦ º¯°æÇÏ´Â °ÍÀÔ´Ï´Ù. Tomcat 4.0
		¹öÀüÀÇ °æ¿ì Å©°Ô Â÷ÀÌ°¡ ¾øÀÌ µ¿ÀÏÇÏ°Ô Àû¿ëÇÏ½Ã¸é µÉ °ÍÀÔ´Ï´Ù.
		Tomcat 3 ¿¡¼­ ROOT ¸¦ ¹Ù²Ù´Â °Í°ú´Â Â÷ÀÌ°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¾Ë°í º¸¸é º°
		°Í ¾ø½À´Ï´Ù. ÀÌ¹ø °­ÁÂ¿¡¼­ ¾Ë¾Æ º¼ °ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.
		<¼Ò½º ÆÄÀÏ¸í="Tomcat 4.1 µð·ºÅä¸®">
<![CDATA[ÃÖÃÊ ¼³Ä¡½Ã ÆÄÀÏÀÇ À§Ä¡
ÄÁÅØ½ºÆ® Ãß°¡ÇÏ±â
ROOT µð·ºÅä¸® º¯°æÇÏ±â
]]>
		</¼Ò½º>
		</text>
	</what>

	<what>
		<text>ROOT µð·ºÅä¸® º¯°æÀ» ¸¶Áö¸·À¸·Î »« ÀÌÀ¯´Â ÀÌ·¸°Ô ÇÏ´Â °ÍÀÌ Å©°Ô
		ÀÇ¹Ì°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. Tomcat È¯°æÀÌ ÀÍ¼÷ÇØÁ®¼­ÀÌ°ÚÁö¿ä. Ã³À½ TomcatÀ»
		½ÃÀÛÇßÀ» ¶§´Â ¿ÖÀÌ¸® µð·ºÅä¸®°¡ ÃÄ¹ÚÇô ÀÖ³ª ½Í¾ú´Âµ¥, ÀÌÁ¦´Â ¹Ù²Ù´Â ÀÏÀÌ
		´õ ÀÏÃ³·³ »ý°¢ÀÌ µÇ³×¿ä. ^^; Tomcat ÀÇ µð·ºÅä¸®¿¡ ´ëÇØ¼­ »ìÆìº¸±â·Î
		ÇÏ°Ú½À´Ï´Ù.
		</text>
	</what>
	<what>
		<text>
		Tomcat 4.1 À» Ã³À½ ¼³Ä¡ÇßÀ» ¶§ µð·ºÅä¸®±¸Á¶´Â ´ÙÀ½°ú °°½À´Ï´Ù. Tomcat
		4.1 ÀÌ ¼³Ä¡µÈ µð·ºÅä¸®ÀÇ webapps µð·ºÅä¸® ¾Æ·¡¿¡ ROOT °¡ jsp, html, µîÀÇ
		ÆÄÀÏµéÀÌ ³õÀÌ´Â À§Ä¡ÀÔ´Ï´Ù.
		</text>
		<image>http://okjsp.pe.kr/lecture/lec01/tomcat4directory_01.gif
		</image>
	</what>
	<what>
		<text>ROOT ¾Æ·¡¿¡ ÀÖ´Â WEB-INF µð·ºÅä¸®´Â ROOT ÄÁÅØ½ºÆ®¿¡ ´ëÇÑ Á¤º¸¸¦
		´ã°í ÀÖ´Â web.xml ÀÌ¶ó´Â deploy descriptor ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¼­ºí¸´°ú
		ºóÁî, ÀÌ ÄÁÅØ½ºÆ®¿¡¼­¸¸ »ç¿ëµÇ´Â jar ÆÄÀÏµéÀÌ ¼­ºêµð·ºÅä¸®¿¡ À§Ä¡ÇÏ°Ô µË´Ï´Ù.
		servlet°ú beans ±×¸®°í helper class µé°ú °°Àº class ÆÄÀÏµé°ú properties
		ÆÄÀÏµéÀº WEB-INF/classes µð·ºÅä¸®¿¡ À§Ä¡ÇÏ°Ô µË´Ï´Ù. jdbc driver µîÀÇ jar
		ÆÄÀÏµéÀº WEB-INF/lib µð·ºÅä¸®¿¡ ³õ½À´Ï´Ù. Ã³À½ ¼³Ä¡¸¦ ÇÏ¸é ÀÌ µÎ°³ÀÇ
		µð·ºÅä¸®´Â º¸ÀÌÁö ¾Ê½À´Ï´Ù. ±×·¸´Ù¸é ¸¸µé¸é µË´Ï´Ù.
		Å×½ºÆ®¸¦ À§ÇØ¼­ examples/WEB-INF/classes ¾Æ·¡¿¡ ÀÖ´Â HelloWorldExample.class
		¼­ºí¸´ ÆÄÀÏÀ» ROOT/WEB-INF/classes ¾Æ·¡¿¡ º¹»çÇØ º¾´Ï´Ù. ÀÌ¶§ ÁÖÀÇÇÒ °ÍÀº
		HelloWorldExample.java ¼­ºí¸´ ¼Ò½º¸¦ º¸½Ã¸é LocalStrings ¶ó´Â properties
		ÆÄÀÏÀ» ÇÊ¿ä·Î ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ LocalStrings.properties
		ÆÄÀÏÀÌ ¾ø´Ù¸é ¿¡·¯°¡ ³ª¿À°Ô µË´Ï´Ù. °°ÀÌ º¹»ç¸¦ ÇÑ µÚ¿¡ Tomcat 4.1 À»
		Àç½Ãµ¿ÇØ¼­ ºê¶ó¿ìÀú¿¡¼­ http://localhost:8080/servlet/HelloWorldExample
		ÁÖ¼Ò·Î È®ÀÎÇØº¾´Ï´Ù.
		</text>
		<image>http://okjsp.pe.kr/lecture/lec01/tomcat4directory_02.gif
		</image>
	</what>

	<what>
		<text>
		Context is a web application. ÀÌ¶ó°í Çß½À´Ï´Ù. ÇÏ³ªÀÇ ÄÁÅØ½ºÆ®¸¦ Ãß°¡ÇÏ´Â
		°ÍÀº À¥ ¾îÇÃ¸®ÄÉÀÌ¼ÇÀ» ÇÏ³ª¸¦ Ãß°¡ÇÏ´Â °ÍÀÔ´Ï´Ù.
		Tomcat4.1 ÀÇ conf µð·ºÅä¸®¿¡ ÀÖ´Â server.xml ÆÄÀÏÀ» ÅØ½ºÆ®ÆíÁý±â·Î ¿±´Ï´Ù.
		¾Æ·¡ ºÎºÐÀ» ÆÄÀÏ¿¡¼­ Ã£¾Æº¸½Ê½Ã¿À. Tomcat ÀÇ Root ÄÁÅØ½ºÆ®´Â ÁÖ¼®À¸·Î
		°¨½ÎÁ®ÀÖ°í, ±× ¾Æ·¡¿¡ /examples ÄÁÅØ½ºÆ®°¡ º¸ÀÔ´Ï´Ù. docBase ´Â ÇÏµå
		µð½ºÅ©»óÀÇ °æ·Î¸íÀÌ°í, ÇØ´ç Host ÀÇ appBase(="webapps") ¿¡ ´ëÇØ »ó´ë °æ·Î
		ÀÔ´Ï´Ù.
<¼Ò½º ÆÄÀÏ¸í="conf/servlet.xml">
<![CDATA[
...

        <!-- Define properties for each web application.  This is only needed
             if you want to set non-default properties, or have web application
             document roots in places other than the virtual host's appBase
             directory.  -->

        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->

        <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
        	  timestamp="true"/>
...
]]>
		</¼Ò½º>
		</text>
	</what>

	<what>
		<text><![CDATA[
		okjsp ¶ó´Â ÄÁÅØ½ºÆ®¸¦ Ãß°¡ÇØ º¸°Ú½À´Ï´Ù. c: µå¶óÀÌºê¿¡ okjsp µð·ºÅä¸®¸¦
		¸¸µì´Ï´Ù. ÀÌ°÷À» »õ·Î¿î ÄÁÅØ½ºÆ®ÀÇ Root µð·ºÅä¸®·Î Á¤ÇÕ´Ï´Ù.  ÁÖÀÇÇÒ
		Á¡Àº <Context> ÅÂ±×´Â xml ÀÇ ¹®¹ýÀ» ÁØ¼ö ÇÏ¿©¾ß µÇ±â ¶§¹®¿¡
		<Context ... /> ¿Í °°ÀÌ ´Üµ¶ÅÂ±×·Î ³¡À» ´Ý¾ÆÁÖ°Å³ª
		<Context ....></Context> ·Î ¸·¾ÆÁÖ¾î¾ß µË´Ï´Ù. Tomcat À» Àç½Ãµ¿ÇÕ´Ï´Ù.
		reloadable ÀÌ¶ó´Â ¼Ó¼ºÀº servlet reloading ¿¡ °üÇÑ ¼Ó¼ºÀÔ´Ï´Ù.]]>
<¼Ò½º ÆÄÀÏ¸í="conf/servlet.xml">
<![CDATA[
...

        <!-- Define properties for each web application.  This is only needed
             if you want to set non-default properties, or have web application
             document roots in places other than the virtual host's appBase
             directory.  -->

        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->

        <!-- Tomcat okjsp Context -->
        <Context path="/okjsp" docBase="c:/okjsp" debug="0"
                 reloadable="true"/>

        <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
        	  timestamp="true"/>
...
]]>
		</¼Ò½º>
		</text>
		<image>http://okjsp.pe.kr/lecture/lec01/tomcat4directory_03.gif
		</image>
	</what>

	<what>
		<text>
		´ÙÀ½ ÆÄÀÏÀ» c:\okjsp µð·ºÅä¸®¿¡ ³Ö°í ºê¶ó¿ìÀú¿¡¼­ È£ÃâÇØº¾´Ï´Ù.
		»õ·Î¿î ÄÁÅØ½ºÆ®¿¡ servlet À» º¹»çÇÏ°í ºê¶ó¿ìÀú¿¡¼­ ºÒ·¯º¾´Ï´Ù. ·çÆ®ÄÁÅØ½ºÆ®ÀÇ
		WEB-INF/ ¾Æ·¡ÀÖ´Â ¸ðµç ÆÄÀÏ°ú µð·ºÅä¸®¸¦ c:/okjsp/WEB-INF/ ¿¡ º¹»çÇÑ µÚ¿¡
		ºê¶ó¿ìÀú¿¡¼­ ÁÖ¼Ò¸¦
		http://localhost:8080/okjsp/servlet/HelloWorldExample ·Î È£ÃâÇÏ¸é µË´Ï´Ù.

<¼Ò½º ÆÄÀÏ¸í="realpath.jsp">
<![CDATA[
<%=request.getRealPath("/") %>
]]>
		</¼Ò½º>
		</text>
		<image>http://okjsp.pe.kr/lecture/lec01/tomcat4directory_04.gif
		</image>
		<image>http://okjsp.pe.kr/lecture/lec01/tomcat4directory_05.gif
		</image>
	</what>

	<what>
		<text>
		ÀÌÁ¦´Â ROOT µð·ºÅä¸®¸¦ ¹Ù²Ù´Â ÀÛ¾÷À» ÇØº¸°Ú½À´Ï´Ù.
		Tomcat4.1 ÀÇ conf µð·ºÅä¸®¿¡ ÀÖ´Â server.xml ÆÄÀÏÀ» ÅØ½ºÆ®ÆíÁý±â·Î ¿±´Ï´Ù.
		¾Æ·¡ ºÎºÐÀ» ÆÄÀÏ¿¡¼­ Ã£¾Æº¸½Ê½Ã¿À. ÁÖ¼® ºÎºÐÀ» ÀÐ¾îº¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸,
		À¥ ¾îÇÃ¸®ÄÉÀÌ¼Ç ±âº» ¼³Á¤À» º¯°æÇÏ±â ¿øÇÏ¸é ¹Ù²Ù¶ó°í µÇ¾îÀÖ½À´Ï´Ù.
<¼Ò½º ÆÄÀÏ¸í="conf/servlet.xml">
<![CDATA[
...

        <!-- Define properties for each web application.  This is only needed
             if you want to set non-default properties, or have web application
             document roots in places other than the virtual host's appBase
             directory.  -->

        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->

        <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
        	  timestamp="true"/>
...
]]>
		</¼Ò½º>
		</text>
	</what>
	<what>
		<text>
		c: µå¶óÀÌºêÀÇ jsphome ÀÌ¶ó´Â µð·ºÅä¸®¸¦ ROOT·Î Àâ¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
		( ¾ÆÁÖ ¿À·£¸¸ÀÔ´Ï´Ù. ^^) c:\jsphome µð·ºÅä¸®¸¦ ¸¸µç ÈÄ¿¡ ¾Æ·¡Ã³·³ º¯°æÇÕ´Ï´Ù.
		C:/jsphome ¿¡¼­ µð·ºÅä¸® ±¸ºÐÇ¥½Ã´Â ms ÀÇ \ °¡ ¾Æ´Ï¶ó unix ½ºÅ¸ÀÏÀÎ
		/(½½·¡½Ã) Ç¥½Ã¸¦ ÇÕ´Ï´Ù. ÀÌ ¾Æ·¡¿¡ WEB-INF µð·ºÅä¸®¸¦ ¸¸µé°í web.xml ÆÄÀÏÀ»
		º¹»çÇØ ³õ½À´Ï´Ù. ±×¸®°í classes µð·ºÅä¸®¿Í lib µð·ºÅä¸®¸¦ ¸¸µé¾î ³õ°í,
		tomcat À» Àç½Ãµ¿ÇÕ´Ï´Ù.
		ÀÌÁ¦ ROOT ¸¦ ¹Ù²Ù´Â ¼³Á¤¹ýÀº ³¡³µ½À´Ï´Ù.
		ÇÑ°¡Áö ¼Ó¼ºÀ» ¼³¸íÇÏ·ÁÇÕ´Ï´Ù. reloadable="true" ¶ó´Â ¼Ó¼ºÀÔ´Ï´Ù.
		servlet ÀÌ º¯°æµÇ¾úÀ» °æ¿ì ÀÌ Context ÀüÃ¼¸¦ ´Ù½Ã ºÒ·¯¿Àµµ·Ï ÇÏ´Â ¼Ó¼ºÀÔ´Ï´Ù.
		°³¹ßÁß¿¡´Â "true" ¶ó´Â ¼Ó¼ºÀ¸·Î °³¹ß¿Ï·á ÈÄ¿¡´Â "false" ·Î ÇÏ½Ã´Â °ÍÀÌ
		¼º´É¸é¿¡¼­ µµ¿òÀÌ µË´Ï´Ù. servlet reloading Àº ÆÄÀÏÀÇ °»½Å³¯Â¥¸¦ ºñ±³ÇÏ±â
		¶§¹®ÀÔ´Ï´Ù.
<¼Ò½º ÆÄÀÏ¸í="conf/servlet.xml">
<![CDATA[
...

        <!-- Define properties for each web application.  This is only needed
             if you want to set non-default properties, or have web application
             document roots in places other than the virtual host's appBase
             directory.  -->

        <!-- Tomcat Root Context -->
          <Context path="" docBase="C:/jsphome" debug="0" reloadable="true" />

        <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
        	  timestamp="true"/>
...
]]>
		</¼Ò½º>
		</text>
	</what>

	<what>
		<text>
		¼³Á¤ÀÌ ´Ù ³¡³µÀ¸¸é ÅèÄ¹À» Àç½Ãµ¿ÇÏ°í, ºê¶ó¿ìÀú¿¡¼­ À§¿¡ ÀÖ´Â realpath.jsp
		ÆÄÀÏÀ» È£ÃâÇØ¼­ È®ÀÎÇØº¾´Ï´Ù.
		</text>
	</what>


	<refer>
		<link>http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/context.html</link>
		<comment>Tomcat 4.1 Context ¹®¼­</comment>
	</refer>
	<refer>
		<link>http://210.219.132.169/bbs?act=VIEW&amp;bbs=bbs4&amp;seq=23530</link>
		<comment>Tomcat 4.1.12 ¹öÀü¿¡¼­ ¼­ºí¸´ Á¢±ÙÀÌ ¾ÈµÇ´Â °æ¿ì</comment>
	</refer>
</lecture>

