¼Ò¼³°°ÀºJSP1ºÎ  4Àå Core of Servlet  19 ServletContext¶õ?  

 

19 ServletContext¶õ?

 

ÇϳªÀÇ ¼­ºí¸´ÀÌ ¼­ºí¸´ ÄÁÅ×ÀÌ³Ê¿Í Åë½ÅÇϱâ À§Çؼ­ »ç¿ëµÇ¾îÁö´Â ¸Þ¼­µåµéÀ» °¡Áö°í Àִ Ŭ·¡½º°¡ ¹Ù·Î ServletContextÀÔ´Ï´Ù. ÇÏÁö¸¸ ServletContextÀÚüÀÇ Àǹ̸¦ ¾ËÁö ¸øÇÏ¸é ´Ü¼øÈ÷ ¼­ºí¸´ ÄÁÅ×ÀÌ³Ê¿Í Åë½ÅÇÏ¿© ¼­ºí¸´ÀÇ Á¤º¸¸¦ ¾ò´Â´Ù´Â °á·Ð ¹Û¿¡ ¾òÁö ¸øÇÕ´Ï´Ù.

 

ÇϳªÀÇ web application ³»¿¡ ÇϳªÀÇ ÄÁÅØ½ºÆ®°¡ Á¸ÀçÇÕ´Ï´Ù. ¿©·¯ºÐÀº ÀÌ¹Ì web applicationÀ̶õ Àǹ̸¦ 1Àå¿¡¼­ ¹è¿ü½À´Ï´Ù. webÀÇ ÇÁ·Î±×·¥ÀûÀÎ Àǹ̴ µð·ºÅ丮 °³³äÀ¸·Î ¼­ºí¸´ ÄÁÅ×ÀÌ³Ê ³»¿¡¼­ ¾ÖÇø®ÄÉÀÌ¼Ç ´ÜÀ§·Î ¼­ºí¸´À» °ü¸®ÇÏ°Ô µÇ¸ç ÇϳªÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ Áï, web application³»¿¡ ÀÖ´Â ¸ðµç ¼­ºí¸´µéÀ» °ü¸®Çϸç Á¤º¸°øÀ¯ÇÒ ¼ö ÀÖ°Ô µµ¿Í ÁÖ´Â ¿ªÇÒÀ» ´ã´çÇÏ´Â ³ðÀÌ ¹Ù·Î ServletContextÀÔ´Ï´Ù. ½±°Ô ¸»Çϸé À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ µî·ÏÁ¤º¸ Á¤µµ·Î »ý°¢Çϸé ÁÁÀ» °ÍÀÔ´Ï´Ù. ÀÌ¿Í °°Àº °ü°è¸¦ ±×¸²À¸·Î ³ªÅ¸³»¸é ¾Æ·¡¿Í °°½À´Ï´Ù.

 

 

 ¼­ºí¸´ÀÇ Á¤º¸¸¦ ÃßÃâÇÏ·Á¸é ServletContainer¿¡ Á¢±ÙÇØ¾ß Çϴµ¥ ÀÌ·¯ÇÑ Á¢±ÙÀ» °¡´ÉÇÏ°Ô ÇØ ÁÖ´Â °ÍÀÌ ¹Ù·Î ServletContextÀÔ´Ï´Ù. ¼­ºí¸´À» ÇϳªÇϳª¿¡ Á¢±ÙÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¾ÖÇø®ÄÉÀÌ¼Ç ´ÜÀ§·Î Á¢±ÙÇÏ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. »ç½Ç ¿©·¯ºÐÀº ¼­ºí¸´ Çϳª¿¡  ContextÇϳª¾¿ Á¸ÀçÇÑ´Ù°í »ý°¢ÇÏÁö¸¸ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ³»¿¡¼­´Â °øÀ¯ÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ServletContext¸¦ ¾ò¾î³»´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

ServletContext¸¦ ¾ò´Â ¹æ¹ý

n        ServletContext´Â ServletConfigÀÇ getServletContext() »ç¿ëÇÏ¿© ¾ò´Â´Ù.

n        ¼­ºí¸´Àº HttpServletÀ» »ó¼ÓÇÑ´Ù. ±×¸®°í HttpServletÀº ServletConfig¸¦ ±¸ÇöÇϰí Àֱ⠶§¹®¿¡ getServletContext() ¸Þ¼­µå¸¦ ¹Ù·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

n        ServletContext sc = getServletContext(); //¼­ºí¸´ ³»¿¡¼­ »ç¿ë°¡´É

 

 °³³äÀûÀÎ ¼³¸íÀº ÀÌÂë¿¡¼­ ³¡³»°í ServletContext¸¦ ½ÇÁ¦ »ç¿ëÇÏ´Â °÷Àº ¹Ù·Î ¼­ºí¸´ÀÇ Á¤º¸¸¦ ÃßÃâÇÏ´Â ¿ëµµ·Î ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù. ¼­ºí¸´Àº ¼­¹öÃøÀÇ ÇÁ·Î¼¼½ºÀÇ ¹üÁÖ ³»¿¡¼­ »ý¼º°ú ¼Ò¸êµË´Ï´Ù. ÀÌ·¯ÇÑ ¼­ºí¸´¿¡¼­´Â ÃʱâÈ­ Á¤º¸¸¦ ¾ò°Å³ª ½ÇÇàȯ°æ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò¾î ³¾ ¼ö ÀÖ½À´Ï´Ù. ¼­ºí¸´ ÃʱâÈ­ Á¤º¸´Â ¼­ºí¸´ÀÌ ½ÃÀÛ µÇ´Â ½Ã±â¿¡ »ç¿ëÀÌ °¡´ÉÇϰí, ½ÇÇàȯ°æ¿¡ ´ëÇÑ Á¤º¸´Â ¼­ºí¸´ÀÌ ½ÇÇà ÁßÀ̶ó¸é ¾ðÁ¦³ª ÀÌ¿ëÀÌ °¡´ÉÇÏ´Ù. ´ÙÀ½Àº ÀÌ·¯ÇÑ Á¤º¸µéÀ» ÃßÃâÇÏ´Â ¿¹¸¦ º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù.

 

ServletContext¿¡¼­ ÀÛ¾÷ÀÇ ¿¹

n        ÆÄÀÏÀÇ MIME ŸÀÔÀ» ¾ò´Â ÀÏ à getMimeType()

n        a log file¿¡ ±â·ÏÇÏ´Â ÀÏ à log()

n        ¼­ºí¸´ ÀÚüÀÇ Á¤º¸¸¦ ¾ò¾î³»´Â ÀÏ à getServletInfo()

n        ¼­ºí¸´ÀÇ °¡»óµð·ºÅ丮»óÀÇ ½ÇÁ¦ °æ·Î¸¦ ¾ò´Â ÀÏ à getRealPath()

n        ¼­ºí¸´ÀÇ ¹öÀüÈ®ÀÎ à getMajorVersion(),getMinorVersion()

 

 À§¿¡¼­ ¾ð±ÞÇÑ ¿¹¸¦ ½ÇÁ¦ Àû¿ëÇÑ ¿¹¸¦ »ìÆì º¸±â·Î ÇϰڽÀ´Ï´Ù.

 

ServletContextTest.java

ServletContextÀÇ Á¤º¸¸¦ ¾ò´Â ¿¹Á¦

package chap4;


import java.io.*;
import java.util.*;  
import javax.servlet.*;    
import javax.servlet.http.*;    

public class ServletContextTest extends HttpServlet{    


  
public void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {    

    response.setContentType("text/html;charset=KSC5601");  
    PrintWriter out = response.getWriter();    

    ServletContext servletContext =  this.getServletContext();
    String mimeType = servletContext.getMimeType(
"java_logo.jpg");
    out.print(
"<B>MimeType   -  </B> " +mimeType+ "<br><br>" );
    servletContext.log(
"*******************Log FileTest***********************");
    out.print(
" <B>Log File Write ok!!!!!!</B><br><br>");
    String serverInfo = servletContext.getServerInfo();
    out.print(
"<B>ServerInfo   -  </B> "+serverInfo+"<br><br>");
    String realPath = servletContext.getRealPath(
"chap4.ServletContextTest");
    out.print(
"<B>RealPath    -   </B>"+realPath+"<br><br>");  
   
int majorVersion = servletContext.getMajorVersion();
    out.print(
"<B>MajorVersion  - </B>  "+majorVersion+"<br><br>");
   
int minorVersion = servletContext.getMinorVersion();
    out.print(
"<B>MinorVersion  - </B>  "+minorVersion+"<br><br>");
    out.close();  
  }  
}

 

À§ÀÇ ¿¹Á¦´Â ServletContext¸¦ Å×½ºÆ®ÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¾Õ¿¡¼­ ¼³¸íÇÑ ±â´ÉµéÀ» ¸ð¾Æ¼­ ¿¹Á¦·Î ¸¸µé¾î º¸¾Ò½À´Ï´Ù. ¿ì¼± ServletÀº HttpServlet Ŭ·¡½º¸¦ »ó¼Ó ¹Þ°Ô µÇ¾îÀÖ½À´Ï´Ù. ±×·±µ¥ ServletContext °´Ã¼¸¦ ¾òÀ» ¼ö ÀÖ´Â ¸Þ¼­µå´Â HttpServlet Ŭ·¡½º¿¡ ÀÖ½À´Ï´Ù. ¹Ù·Î getServletContext¸Þ¼­µåÀÔ´Ï´Ù. Áï ¸ðµç ServletÀº ServletContext °´Ã¼¸¦  »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ¾Õ¿¡¼­ ¼³¸í Çß½À´Ï´Ù. ÀÌ·¸°Ô ServletContextÀÇ °´Ã¼ servletContext¸¦ ¾ò¾î³½ ÈÄ, À§¿¡¼­ ¼³¸íÇÑ ±â´ÉµéÀ» Å×½ºÆ®ÇÏ¿´½À´Ï´Ù.

 

n        ServletContext servletContext =  this.getServletContext();

 

 Ã³À½¿¡´Â ÆÄÀÏÀÇ MIME°ªÀ» ¾ò¾î¿À´Â ¿¹Á¦ÀÔ´Ï´Ù. ¿ì¼± java_logo.jpg¶ó´Â ÆÄÀÏÀ» ServletContextTest.java ÆÄÀÏÀÌ À§Ä¡ÇÑ °÷¿¡ ³Ö¾î µÎ¾ú½À´Ï´Ù. ÀÌ·± ÈÄ getMimeType ¸Þ¼­µå¸¦ È£ÃâÇÏ¿© Ãâ·ÂÇÏ¿´´õ´Ï image/jpeg¶ó´Â °á°ú°ªÀ» Ãâ·ÂÇÏ¿´½À´Ï´Ù.

 

n        String mimeType = servletContext.getMimeType("java_logo.jpg");

 

 ±× ÈÄ¿¡ log¸Þ¼­µå¸¦ È£ÃâÇÏ¿´½À´Ï´Ù. ÀÌ log¸Þ¼­µå´Â Jakarta(ȤÀº Catalina)¾Æ·¡¿¡ À§Ä¡ÇÑ Logs Æú´õ¸¦ ¿­¾î º¸¸é À§Ä¡ÇÑ logÆÄÀÏ¿¡ ¸Þ½ÃÁö¸¦ ³²±â´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¾Æ·¡ ±×¸²Àº log  ÆÄÀÏ¿¡ ÀûÈù °ÍÀ» ĸÃÄÇÑ ±×¸²ÀÔ´Ï´Ù. ÀÌ·¸°Ô ÀڱⰡ ¿øÇÏ´Â ¸Þ½ÃÁö¸¦ logÆÄÀÏ¿¡ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

n        servletContext.log("*******************Log FileTest***********************");

 

±×¸®°í ±× ´ÙÀ½¿¡´Â ServerÀÇ Á¤º¸¸¦ ¾Ë¾Æ¿À´Â ¸Þ¼­µå, ServletÀÇ ½ÇÁ¦ °æ·Î¸¦ ¾Ë¾Æ³»´Â ¸Þ¼­µå, MajorVersion°ú MinorVersionÀ» ¾Ë¾Æ¿À´Â ¸Þ¼­µå¸¦ Å×½ºÆ® ÇÏ¿´½À´Ï´Ù.

 °á°ú È­¸é¿¡ ³ª¿Â °Í ó·³ ³ª¿À´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

 

n        int majorVersion = servletContext.getMajorVersion();

n        out.print("<B>MajorVersion  - </B>  "+majorVersion+"<br><br>");

n        int minorVersion = servletContext.getMinorVersion();

n        out.print("<B>MinorVersion  - </B>  "+minorVersion+"<br><br>");

´ÙÀ½Àº ¼­ºí¸´ÀÌ ¼­ºí¸´ ¿£Áø°ú Åë½ÅÇϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ¼­µå¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.

 

ServletContextÀÇ ¸Þ¼­µå

 

Object getAttribute(java.lang.String name): ÁÖ¾îÁø À̸§ÀÇ ¼­ºí¸´ ÄÁÅ×ÀÌ³Ê ¼Ó¼ºÀ» ¾ò½À´Ï´Ù.

Enumeration getAttributeNames(): ¼­ºí¸´ ÄÁÅ×À̳ÊÀÇ ¼Ó¼º¿¡ ´ëÇØ À̸§µéÀ» Enumeration °´Ã¼·Î ¾ò½À´Ï´Ù.

void removeAttribute(java.lang.String name): ¼­ºí¸´ ÄÁÅØ½ºÆ®(contect)·ÎºÎÅÍ ÁÖ¾îÁø À̸§ÀÇ ¼Ó¼ºÀ» Á¦°ÅÇÕ´Ï´Ù.

void setAttribute(java.lang.String name, java.lang.Object object): ¼­ºí¸´ ÄÁÅØ½ºÆ®(context)¿¡ ÁÖ¾îÁø À̸§ÀÇ ¼Ó¼ºÀ» Ãß°¡ÇÕ´Ï´Ù.

ServletContext getContext(java.lang.String uripath): ÁÖ¾îÁø ¼­¹ö»óÀÇ URL¿¡ ÇØ´çÇÏ´Â ServletContext °´Ã¼¸¦ ¾ò½À´Ï´Ù.

int getMajorVersion(): À¥ ¼­¹ö°¡ Áö¿øÇÏ´Â ÀÚ¹Ù ¼­ºí¸´ APIÀÇ major versionÀ» ¾ò½À´Ï´Ù.

int getMinorVersion():À¥ ¼­¹ö°¡ Áö¿øÇÏ´Â ÀÚ¹Ù ¼­ºí¸´ APIÀÇ minor versionÀ» ¾ò½À´Ï´Ù.

String getMimeType(java.lang.String file): ¹®ÀÚ¿­·Î ÁÖ¾îÁø ÆÄÀÏ¿¡ ´ëÇÑ MIME ŸÀÔÀ» ¾ò½À´Ï´Ù.

String getRealPath(java.lang.String path): ÁÖ¾îÁø °¡»ó µð·ºÅ丮ÀÇ ½ÇÁ¦ °æ·Î¸¦ ¾ò½À´Ï´Ù.

RequestDispatcher getRequestDispatcher(java.lang.String urlpath): ÁÖ¾îÁø °æ·Î¿¡ À§Ä¡¿¡ ÀÖ´Â ÀÚ¿øÀ» À§ÇÑ wrapper·Î ÀÛµ¿ÇÏ´Â RequestDispatcher °´Ã¼¸¦ ¾ò½À´Ï´Ù.

URL getResource(java.lang.String path): ÁÖ¾îÁø °æ·Î¿¡ ¸ÅÇεǴ ÀÚ¿øÀ» ¾ò½À´Ï´Ù.

InputStream getResourceAsStream(java.lang.String path): ÁÖ¾îÁø °æ·Î¿¡ ¸ÅÇεǴ ÀÚ¿øÀ¸·ÎºÎÅÍ ÀԷ¹ÞÀ» ¼ö ÀÖ´Â ÀÔ·Â ½ºÆ®¸²À» ¾ò½À´Ï´Ù.

Enumeration getServlets(): ÀÚ¹Ù ¼­ºí¸´ API 2.0¿¡¼­ºÎÅÍ´Â Á¦°ÅµÇ¾ú½À´Ï´Ù.

void log(java.lang.Exception exception, java.lang.String msg): ÀÚ¹Ù ¼­ºí¸´ API 2.1¿¡¼­ºÎÅÍ´Â log(String message, Throwable throwable) ¸Þ¼Òµå·Î ¹Ù²î¾ú½À´Ï´Ù.

void log(java.lang.String msg): ¼­ºí¸´ ·Î±× ÆÄÀÏ¿¡ ÁÖ¾îÁø ¸Þ½ÃÁö¸¦ ±â·ÏÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î À̺¥Æ® ·Î±×ÀÔ´Ï´Ù.

void log(java.lang.String message, java.lang.Throwable throwable): ½ºÅÃÀÇ ³»¿ë°ú ÁÖ¾îÁø ¿¹¿Ü°¡ °¡Áö´Â È®Àå ¸Þ½ÃÁö¸¦ ¼­ºí¸´ ·Î±× ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù.

String getServerInfo(): ¼­ºí¸´ÀÌ ½ÇÇàµÇ°í ÀÖ´Â ¼­ºí¸´ ÄÁÅ×À̳ÊÀÇ À̸§°ú ¹öÀüÀ» ¾ò½À´Ï´Ù.

Servlet getServlet(java.lang.String name): ÀÚ¹Ù ¼­ºí¸´ API 2.1¿¡¼­ºÎÅÍ´Â Á¦°ÅµÇ¾ú½À´Ï´Ù.

Enumeration getServletNames(): ÀÚ¹Ù ¼­ºí¸´ API 2.1¿¡¼­ºÎÅÍ´Â Á¦°ÅµÇ¾ú½À´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºJSP1ºÎ
ÀúÀÚ:ÃÖ¿µ°ü