ÃֽŠ°Ô½Ã±Û(OS/WAS)
2018.07.30 / 11:14

ÅèĹÀÇ ÄÁÅؽºÆ® ¿ÜºÎ·Î °æ·Î ¸ÅÇÎÇÏ´Â ¹æ¹ý

summerman
Ãßõ ¼ö 134

ÀϹÝÀûÀ¸·Î À¥ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇغ¸¸é µðÀÚÀÎÀº µðÀÚÀÎÆÀ¿¡¼­, ÇÁ·Î±×·¥Àº ÇÁ·Î±×·¥ °³¹ßÆÀ¿¡¼­ º°°³·Î ÁøÇàÇÏ°Ô µÇ¾î º°°³ÀÇ »êÃâ¹°ÀÌ ¸¸µé¾îÁø´Ù. ±×·¡¼­ °³¹ßÆÀÀÇ ÇÁ·ÎÁ§Æ® ¼Ò½º¿¡ µðÀÚÀÎ »êÃâ¹°, ¿¹¸¦ µé¾î À̹ÌÁö³ª CSS ÆÄÀÏÀ» ÀÏÀÏÀÌ ¹Þ¾Æ ³Ö±â°¡ °ï¶õÇϰųª È¿À²»ó ³ÖÁö ¾Ê±â·Î ÇÏ´Â °æ¿ì°¡ ´ëüÀûÀÎ ÇÁ·ÎÁ§Æ® È帧ÀÌ´Ù. ÀÌ·² ¶§ °³¹ßÆÀ¿¡¼­ ÅèĹÀÇ ÄÁÅؽºÆ® ¿ÜºÎ·Î °æ·Î ¸ÅÇÎÇÏ´Â ¹æ¹ýÀÌ ÇÊ¿äÇØÁø´Ù.

¿øÄ¢ÀûÀ¸·Î ¼Ò½º ¹öÀü °ü¸®¸¦ ÅëÇؼ­ »êÃâ¹°À» °øÀ¯Çϸé ÁÁÁö¸¸ µðÀÚÀÎÆÀÀº ¾Æ.. ±×·± °Å °ñÄ¡¾ÆÆÄ¿äÇϰųª ÀÏ´Ü ÁøÇàÇÏ´Ù°¡ ³ªÁß¿¡ ³ÖÀ»²²¿äÇÏ¸ç ½Ã°£ Áö¿¬ ÀÛÀüÀ» ¾´´Ù. ¶ÇÇÑ °³¹ßÆÀÀº °³¹ßÆÀ´ë·Î À̹ÌÁö´Â ÆÄÀÏ Å©±â°¡ »ó´çÈ÷ Å« ÆíÀÌ´Ù º¸´Ï ÇÁ·ÎÁ§Æ® Æú´õ¿¡ À̹ÌÁö¸¦ ³Ö°í ÁÖ°í ¹Þ´Â °Ô ½ÉÀûÀ¸·Î ºÎ´ã½º·¯¿î ¸éµµ ÀÖ´Ù.

¾Æ¹«Æ° ÀÌ·¸°Ô Á¤ÀûÀÎ ÀÚ¿ø(µðÀÚÀÎ »êÃâ¹°)À» º°°³·Î °ü¸®ÇÒ °æ¿ì °³¹ßÆÀ¿¡¼­ TomcatÀ¸·Î °³¹ß ÁßÀÎ À¥ÆäÀÌÁö¸¦ ¶ç¿ï ¶§ ¾î¶»°Ô ÇÏ´Â °Ô ÁÁÀ»±î? ¿¹¸¦ µé¾î ÄÁÅؽºÆ® °æ·Î´Â /, Áï ·çÆ®°í ½ÇÁ¦ °æ·Î´Â d:\project\webappÀ̶ó°í ÇÏÀÚ. ±×·±µ¥ À̹ÌÁö °æ·Î´Â /imgÀÌ°í ½ÇÁ¦ °æ·Î´Â d:\project\design\imgÀÏ °æ¿ì ¾î¶»°Ô ÇÒ±î? ¶Ç´Â À̹ÌÁöÀÇ ½ÇÁ¦ °æ·Î°¡ °°Àº ÄÄÇ»ÅÍ¿¡ ÀÖÁö ¾Ê°í ¿¹¸¦ µé¾î http://123.45.67.89/img¿¡ ÀÖ´Ù¸é?

¿ì¼± ÇÑ ÄÄÇ»ÅÍ ¾È¿¡ Á¤ÀûÀÎ ÀÚ¿ø°ú ÀÚ¹Ù ÄÁÅؽºÆ®°¡ °°ÀÌ ÀÖµÇ Æú´õ À§Ä¡´Â ´Ù¸¥ °æ¿ì¸¦ »ìÆ캸ÀÚ.

¾ÆÆÄÄ¡ HTTP ¼­¹ö + ÅèĹ

ÅèĹ(Tomcat) ¾Õ¿¡ ¾ÆÆÄÄ¡(Apache) À¥¼­¹ö¸¦ ÇÁ·Ï½Ã·Î µÎ´Â °æ¿ì´Â ¼­¹ö ±â°è°¡ ¿©·¯ ´ëÀÎ ¿î¿µ ¼­¹ö ȯ°æ¿¡¼­ ÀÚÁÖ º¼ ¼ö ÀÖ´Â Á¶ÇÕÀÌ´Ù. °³¹ß ȯ°æ¿¡¼­´Â ²À ÀÌ·¸°Ô ÇÒ ÇÊ¿ä´Â ¾ø°ÚÁö¸¸ ¾Æ¹«Æ° ÀÌ·± °æ¿ì´Â óÀ½ºÎÅÍ ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ µ¶¸³ÀûÀ¸·Î Á¤ÀûÀÎ ÀÚ¿øÀ» ¼­ºñ½ºÇϹǷΠÅèĹÀÌ ¼­ºñ½ºÇÏ´Â ÀÚ¹Ù ÄÁÅؽºÆ®¿Í ¾Æ¹« »ó°üÀÌ ÀÖÀ» °Ô ¾ø´Ù. À¥¼­¹ö´Â À¥¼­¹ö´ë·Î À¥Æú´õ À§Ä¡¸¦ ÁöÁ¤ÇÏ°í ÅèĹÀº ÅèĹ´ë·Î À¥Æú´õ À§Ä¡¸¦ ÁöÁ¤ÇÏ¸é µÈ´Ù.

Ȥ½Ã ¾ÆÆÄÄ¡ À¥¼­¹ö 2.2 À̻󿡼­ À¥¼­¹ö¿Í ÅèĹÀ» ¿¬µ¿ÇØÁÖ´Â ÇÁ·Ï½Ã ¼³Á¤À» ¾Ë°í ½Í´Ù¸é ¿©±â¸¦ º¸µµ·Ï ÇÑ´Ù.

ÅèĹ 6 ÀÌ»ó(6, 7, 8 °øÅë)

ÅèĹ 6ºÎÅÍ´Â 2´Ü°è ÀÌ»ó µð·ºÅ͸® ±¸Á¶ÀÇ ÄÁÅؽºÆ®¸¦ Áö¿øÇÑ´Ù. ¹«½¼ ¸»Àΰ¡Çϸé /www¿Í °°Àº ÄÁÅؽºÆ® »Ó ¾Æ´Ï¶ó /www/img¿Í °°Àº °æ·Î¸¦ º°µµÀÇ ÄÁÅؽºÆ®·Î µ¶¸³½Ãų ¼ö ÀÖ´Ù.

¹æ¹ýÀº ÄÁÅؽºÆ® ¼³Á¤ xml ÆÄÀÏÀ» ¡°°æ·Î1#°æ·Î2.xml¡±°ú °°Àº À̸§À¸·Î ¸¸µé¾î ÄÁÅؽºÆ® ¼³Á¤ ÆÄÀÏ °æ·ÎÀΠ$CATALINA_BASE/conf/[enginename]/[hostname] Æú´õ¿¡ ³Ö¾îµÎ´Â °ÍÀÌ´Ù. ±âº» ¼³Ä¡ »óÅÂÀÎ °æ¿ì [enginename]Àº ¡°Catalina¡±°í [hostname]Àº ¡°localhost¡±°¡ µÈ´Ù. ±×¸®°í ÆÄÀÏ ³»¿ëÀº ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ µÉ °ÍÀÌ´Ù.

<Context path="/img" reloadable="true" docBase="d:\project\design\img">
</Context>

ÀÌŬ¸³½º °°Àº °³¹ß ȯ°æ¿¡¼­´Â À§ÀÇ ¼³Á¤ ÆÄÀÏÀÌ À§Ä¡ÇÏ´Â °æ·Î¿¡ ÆÄÀÏÀ» ³Ö¾îÁֱ⠺¸´Ù´Â Servers ÇÁ·ÎÁ§Æ®¿¡¼­ ÅèĹ ¼³Á¤ ÆÄÀÏ server.xml ÆÄÀÏÀ» ¿­¾î <Context>¸¦ Ãß°¡ÇØÁÖ´Â °Ô ´õ Æí¸®ÇÏ´Ù.

ÅèĹ 7

À§ ¹æ¹ýÀº Á¤ÀûÀÎ ÀÚ¿ø Æú´õ°¡ ¿¹¸¦ µé¾î /www/img/www/css/www/js µî°ú °°ÀÌ ¿©·µÀÏ °æ¿ì ¼³Á¤ÇÏ´Â ÀÛ¾÷ÀÌ ±ÍÂú¾ÆÁø´Ù. ¶ÇÇÑ ¼³Á¤ ÆÄÀÏÀ» º°°³·Î ¼­¹ö¿¡ ÀÛ¾÷ÇØ ³Ö¾î¾ß ÇϹǷΠ¼Ò½º ¹öÀü °ü¸®°¡ µÇÁö ¾Ê´Â ¹®Á¦µµ ÀÖ´Ù.

ÅèĹ 7¿¡¼­´Â aliases¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

<Context ...
    aliases="/img=d:\project\design\img,/js=d:\project\design\js,/css=d:\project\design\css"/>
</Context>

¶ÇÇÑ °¡»ó °æ·Î¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. µ¿ÀÛ»óÀ¸·Î´Â À§ÀÇ aliases¿Í ´Ù¸¦ °Ç ¾ø´Ù. ÄÁÅؽºÆ® ¼³Á¤ ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Resources Å±׸¦ Ãß°¡ÇÏ¸é µÈ´Ù.

<Context ...>
    <Resources className="org.apache.naming.resources.VirtualDirContext"
        extraResourcePaths="/img=d:\project\design\img,/js=d:\project\design\js,/css=d:\project\design\css"/>
</Context>

ÀÌ·¯ÇÑ ¼³Á¤ ³»¿ëÀº META-INF/context.xml¿¡ ³Ö´Â °ÍÀÌ ÇÁ·ÎÁ§Æ® ¼Ò½º¸¦ °ü¸®ÇÏ´Â ¸é¿¡¼­ Æí¸®ÇÏ´Ù. ±×·±µ¥ À§¿¡¼­ aliasesÀÇ °æ¿ì´Â °æ·Î ¼³Á¤ ¹®ÀÚ¿­ÀÇ Äĸ¶³ª µîÈ£ ¾ÕµÚ·Î ºóÄ­À̳ª ÁÙ¹Ù²Þ °°Àº °Ô ÀÖÀ» ¼ö ÀÖÀ¸³ª °¡»ó °æ·Î´Â ÀÖÀ¸¸é ¾ÈµÈ´Ù.

¶Ç ÇÑ °¡Áö ÁÖÀÇÇÒ Á¡Àº (ÀÌ¹Ì ´Ù ¾Ë°í ÇÏ°í ÀÖ°ÚÁö¸¸ È®ÀÎ Â÷¿ø¿¡¼­ ¸»ÇÏÀÚ¸é) ½ºÇÁ¸µ °°Àº ÇÁ·¹ÀÓ¿÷À» »ç¿ëÇÒ °æ¿ì ´ë°³ WEB-INF/web.xml ÆÄÀÏ¿¡¼­

    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

¿Í °°ÀÌ ¸ðµç °æ·Î¸¦ ½ºÇÁ¸µÀÇ µð½ºÆÐó ¼­ºí¸´À¸·Î ¼­ºñ½ºÇϵµ·Ï ¼³Á¤ÇÏ´Â °æ¿ì°¡ ÀϹÝÀûÀε¥ ÀÌ °æ¿ì Á¤ÀûÀÎ ÀÚ¿øµµ ½ºÇÁ¸µ¿¡¼­ ó¸®Çϵµ·Ï µÅ Àֱ⠶§¹®¿¡ ½ºÇÁ¸µ ¼³Á¤¿¡¼­

    <mvc:resources mapping="/img/**" location="/img/" />
    <mvc:resources mapping="/css/**" location="/css/" />

¿Í °°ÀÌ Á¤ÀûÀÎ ÀÚ¿øÀº ¹èÁ¦ÇÏ´Â °Ô Çʼö¶ó´Â °ÍÀÌ´Ù.

ÅèĹ 8

ÅèĹ 7ÀÇ È¥¶õ½º·¯¿î ¼³Á¤µéÀº ÅèĹ 8¿¡¼­ °ú°¨È÷ Á¤¸®µÆ´Ù. <Context> ÅÂ±× ¾È¿¡ PreResourcesJarResourcesPostResources µîÀ» ¼³Á¤ÇÒ ¼ö ÀÖ°Ô ¹Ù²î¾ú´Âµ¥ JAR ÆÄÀÏ¿¡ Á¤ÀûÀÎ ÀÚ¿øÀ» ³Ö¾î ¼­ºñ½ºÇÏ´Â °æ¿ì°¡ ¾Æ´Ï¶ó¸é ÀϹÝÀûÀ¸·Î PreResources¸¦ ¼³Á¤ÇÏ¸é µÈ´Ù.

<Context ...>
    <PreResources className="org.apache.catalina.webresources.DirResourceSet"
        webAppMount="/img" base="d:\project\design\img"/>
</Context>

Á¤ÀûÀÎ ÀÚ¿øÀÌ ¿ø°ÝÁö(´Ù¸¥ ÄÄÇ»ÅÍ)¿¡ ÀÖ´Â °æ¿ì

¸¶Áö¸·À¸·Î Á¤ÀûÀÎ ÀÚ¿øÀÌ ÀÚ¹Ù ÄÁÅؽºÆ®°¡ À§Ä¡ÇÑ ÄÄÇ»ÅÍ¿Í´Â ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ ÀÖ´Â °æ¿ì¸¦ ¾Ë¾Æº¸ÀÚ. ÀÌ °æ¿ì´Â Á» ¹ø°Å·ÓÁö¸¸ Á¤ÀûÀÎ ÀÚ¿øÀÇ °æ·Î ¾Õ¿¡ ¿ø°ÝÁöÀÇ ÁÖ¼Ò¸¦ ÀÏÀÏÀÌ ºÙ¿©ÁÖ´Â ¼ö ¹Û¿¡ ¾ø´Ù.

<html>
...
<img src="http://123.45.67.89/img/category/abc123_on.png" >
...
</html>

¿ø°ÝÁöÀÇ ÁÖ¼Ò´Â °³¹ß Áß ¹Ù²ð ¼öµµ ÀÖ°í ¿î¿µ ¼­¹ö·Î ÃÖÁ¾ ¹èÆ÷ÇÒ ¶§µµ ¹Ù²ð °¡´É¼ºÀÌ ¸¹À¸¹Ç·Î ½ºÇÁ¸µ °°Àº ÇÁ·¹ÀÓ¿÷À̳ª JSTLÀ» »ç¿ëÇÑ´Ù¸é ¿ø°ÝÁö ÁÖ¼Ò¸¦ ¼³Á¤ ÆÄÀÏ °°Àº °÷¿¡¼­ º¯¼ö·Î »Ì¾Æ¿À´Â °ÍÀÌ Æí¸®ÇÏ´Ù.

<img src="${resourcePath}/img/category/abc123_on.png" >

ÀÌ»óÀ¸·Î ±ÛÀ» ¸¶Ä¡¸ç µðÀÚÀÎÆÀ°ú °³¹ßÆÀÀÇ Á¶È­·Î¿î ÇÁ·ÎÁ§Æ® ÁøÇàÀ» ²Þ²ãº»´Ù.