<?xml version="1.0" encoding="euc-kr" ?>
<?xml-stylesheet type="text/xsl" href="../okjsplec_c.xsl" ?>
<lecture>
	<title>servlet ¿¡¼­ ÇÑ±ÛÃâ·Â</title>
	<who>kenu</who>
	<when>2001-11-20 6:51¿ÀÀü</when>
	<what>
		<text>
		ÀÏ¹ÝÀûÀ¸·Î »ç¿ëÇÏ´Â servlet ¿¡¼­ÀÇ ÇÑ±Û Ã³¸®¹ýÀ» »ìÆìº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. °­ÀÇ ½ÇÇàÈ¯°æÀº Tomcat 4.0.1 standaloneÀÔ´Ï´Ù.
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		¼­ºí¸´ ¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù. ¿µ¹®¸¸ ÀÖ´Ù¸é ÀÎÄÚµùÀÌ ÇÊ¿ä°¡ ¾ø°ÚÁÒ. ÆÄÀÏÀÇ À§Ä¡´Â c:\tomcat4\webapps\ROOT\WEB-INF\classes ¿¡ ¼Ò½º¸¦ ³ù½À´Ï´Ù. package °¡ ¼±¾ðµÇ¾îÀÖ±â ¶§¹®¿¡ ±× µð·ºÅä¸® ¾È¿¡ ³õ¾Æµµ ±¦Âú½À´Ï´Ù.
		<¼Ò½º ÆÄÀÏ¸í="OkServlet.java">
package kr.pe.okjsp;

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

public class OkServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, 
		HttpServletResponse response) 
		throws ServletException, IOException {
		
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		out.println("Ok, Servlet");
	}
}
		</¼Ò½º>
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		Ä¿¸ÇµåÇÁ·ÒÇÁÆ® Ã¢¿¡¼­ È®ÀÎÇØ º» È¯°æÀº ´ÙÀ½°ú °°½À´Ï´Ù. classpath ¸¦ Àâ¾ÆÁÖÁö ¾Ê¾Ò°í, path ¿¡¸¸ jdk1.3/bin ÀÌ ÀâÇôÀÖ½À´Ï´Ù. Servlet À» ÄÄÆÄÀÏÇÏ´Âµ¥ ÇÊ¿äÇÑ servlet.jar ÆÄÀÏÀº jdk1.3/jre/lib/ext ¿¡ º¹»çÇØ ³õÀº »óÅÂÀÔ´Ï´Ù. resin2 ÀÇ °æ¿ì lib ¿¡ ÀÖ´Â jsdk23.jar ÆÄÀÏÀ» º¹»çÇØ ³õÀ¸¸é µË´Ï´Ù.
		</text>
		<image>servlet02_01.gif
		</image>
	</what>
	<what>
		<text>
		ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ´Â ¹ýÀº "package ¼±¾ðµÈ java ÄÄÆÄÀÏ" °­ÁÂ¸¦ Âü°íÇÏ½Ã¸é µË´Ï´Ù. ¿©±â¼­´Â Á¶±Ý ´Ù¸£°Ô ÄÄÆÄÀÏ ÇØº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ÇöÀç À§Ä¡¿¡¼­ -d . ¿É¼ÇÀ» »ç¿ëÇÏ¸é ÇöÀç µð·ºÅä¸® ¾Æ·¡·Î package ¿¡ ¼±¾ðµÈ µð·ºÅä¸®°¡ »ý¼ºµÇ¸é¼­ class ÆÄÀÏÀÌ ±× ¾È¿¡ »ý±â°Ô µË´Ï´Ù. kr/pe/okjsp µð·ºÅä¸® ¾È¿¡ ÄÄÆÄÀÏµÈ OkServlet.class ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù.
		</text>
		<image>servlet02_02.gif
		</image>
	</what>
	<what>
		<text>
		ºê¶ó¿ìÀú¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. http://localhost:8080/servlet/kr.pe.okjsp.OkServlet ÀÌ ¶§ ÁÖÀÇÇØ¾ßÇÒ °ÍÀº µð·ºÅä¸®´Â . À¸·Î ±¸ºÐµÈ´Ù´Â °Í°ú ´ë¼Ò¹®ÀÚ¸¦ Á¤È®È÷ ¸ÂÃçÁà¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.
		</text>
		<image>servlet02_03.gif
		</image>
	</what>
	<what>
		<text>
		ÀÌÁ¦ ¼Ò½º¸¦ ¹Ù²ã¼­ ÇÑ±ÛÀ» Áý¾î³Ö¾î º¸°Ú½À´Ï´Ù. ÃÖÀç¿õ ´Ô²²¼­ ¾Ë·ÁÁÖ½Å ¹æ¹ýÀÔ´Ï´Ù. (ÃÖÀç¿õ´Ô °¨»çµå¸³´Ï´Ù.) ¼­ºí¸´Àº ÇöÀç Á¦ ¼¼ÆÃ»óÅÂ¿¡¼­´Â reloading ÀÌ ¾ÈµÇ±â ¶§¹®¿¡ Tomcat À» Àç½Ãµ¿ÇØ¾ß º¯°æµÈ »çÇ×À» º¼ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ¿À·¡ ÀüÀÇ ¹æ¹ý°ú ºñ±³ÇØ º¸½ÃÁÒ.
		<¼Ò½º ÆÄÀÏ¸í="OkServlet.java">
package kr.pe.okjsp;

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

public class OkServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, 
		HttpServletResponse response) 
		throws ServletException, IOException {
		
/* response.getWriter() ¸¦ È£ÃâÇÏ±â Àü¿¡ response¿¡ Ä³¸¯ÅÍ¼ÂÀ» ¼¼ÆÃÇÕ´Ï´Ù. */ 
response.setContentType("text/html; charset=euc-kr"); 

/* PrintWriter ÀÎ½ºÅÏ½º¸¦ »ý¼ºÇØ ¹Þ¾Æ¿É´Ï´Ù. */ 
PrintWriter pw = response.getWriter(); 

/* PrintWriter ÀÎ½ºÅÏ½º·Î ÇÑ±ÛÀ» »Ñ·Áº¾´Ï´Ù. */ 
pw.print("ÃÖÀç¿õ"); 

	}
}
		</¼Ò½º>
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		±¸½Ä ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. À§ ¹æ¹ýÀÌ³ª jsp ¿¡¼­Ã³·³ ½±Áö´Â ¾Ê½À´Ï´Ù.(^^; JSP ÀÌ°Íµµ Èûµå¼ÌÁÒ. ÇÑ±Û... ½¬¿î°Ô ¾ø³ª¿ä?...) 		PrintWriter out = response.getWriter(); 
ÀÌ ¹Ù²î°Ô µË´Ï´Ù. 		PrintWriter out = new PrintWriter(new 
			OutputStreamWriter(response.getOutputStream(), "KSC5601"));
Ã³·³ ¼±¾ðÀ» ÇØÁÝ´Ï´Ù. ÀÌ¿¡ °üÇØ¼­´Â Áö±Ý ¼³¸íÀ» µå¸®±â Èûµì´Ï´Ù. ¶ÇÇÑ ÇÑ±ÛÃ³¸®ÇÏ´Â ¹ýÀÌ ÀÌ°Í ¿Ü¿¡µµ ¸î°¡Áö ´õ ÀÖ´Â °ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù. ±×¶§¸¶´Ù °­ÁÂ¿¡ Ãß°¡¸¦ ÇÏµµ·Ï ÇÏÁÒ. ¼­ºí¸´Àº ÇöÀç Á¦ ¼¼ÆÃ»óÅÂ¿¡¼­´Â reloading ÀÌ ¾ÈµÇ±â ¶§¹®¿¡ Tomcat À» Àç½Ãµ¿ÇØ¾ß º¯°æµÈ »çÇ×À» º¼ ¼ö ÀÖ½À´Ï´Ù.
		<¼Ò½º ÆÄÀÏ¸í="OkServlet.java">
package kr.pe.okjsp;

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

public class OkServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, 
		HttpServletResponse response) 
		throws ServletException, IOException {
		
		response.setContentType("text/html;charset=euc-kr");
		PrintWriter out = new PrintWriter(new 
			OutputStreamWriter(response.getOutputStream(), "KSC5601"));
		
		out.println("Ok, Servlet");
		out.println("&lt;br>¼­ºí¸´Àº JSPº¸´Ù Á¶±Ý ¾î·Æ½À´Ï´Ù.");
		out.close();
	}
}
		</¼Ò½º>
		</text>
		<image>servlet02_04.gif
		</image>
	</what>
	<what>
		<text>
		Ã¥ÀÇ ³»¿ëÀ» ºôÀÚ¸é, PrintWriter ´Â 2¹ÙÀÌÆ® ´ÜÀ§·Î ½ºÆ®¸²À» »ý¼ºÇÏ°í ServletOutputStream Àº 1¹ÙÀÌÆ® ´ÜÀ§ ½ºÆ®¸²À» »ý¼ºÇÕ´Ï´Ù. ÇÑ±ÛÀº 2¹ÙÀÌÆ® ´ÜÀ§·Î ±¸¼ºµÇ¾î ÀÖ±â ¶§¹®¿¡ 1¹ÙÀÌÆ® ´ÜÀ§ ½ºÆ®¸²ÀÎ ServletOutputStream À» »ç¿ëÇÏ°Ô µÈ´Ù¸é ÇÑ±ÛÀÌ ±úÁö°Ô µË´Ï´Ù. (ÀÚ¹Ù ¼­ºí¸´ ÇÁ·Î±×·¡¹Ö 21ÀÏ ¿Ï¼º, À±Áö¼ö Àú, »ï°¢Çü ÇÁ·¹½º, 98.12.15, 115page )(98³â¿¡µµ ¼­ºí¸´Àº ÀÖ¾ú½À´Ï´Ù. ³î¶øÁÒ? Çæ~)
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		ÇÑ °¡Áö ÁÖÀÇ±í°Ô º¼ °ÍÀº out.close(); ÀÔ´Ï´Ù. ÀÌ°Íµµ °°Àº Ã¥ÀÇ ¼³¸íÀ» ºôÀÚ¸é, "ÀÌ ºÎºÐÀº Ãâ·ÂÇÏ±â À§ÇÑ ½ºÆ®¸²À» ´Ý´Â ºÎºÐÀ¸·Î ¸¸¾à ½ºÆ®¸²À» ´ÝÁö ¾ÊÀ¸¸é ºê¶ó¿ìÀú¿¡¼­´Â document no data ¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù. ÀÌÀ¯´Â content-length ¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ ºê¶ó¿ìÀú¿¡¼­´Â Á¤È®ÇÑ ¸Þ½ÃÁöÀÇ ±æÀÌ¸¦ ÀÎ½ÄÇÏÁö ¸øÇÏ¿´À» »Ó¸¸ ¾Æ´Ï¶ó Ãâ·Â ½ºÆ®¸²À» ´ÝÁö ¾ÊÀ¸¸é ºê¶ó¿ìÀúÂÊ¿¡¼­´Â ¿¬°áÀ» ²÷¾î ¹ö¸®°í ¸Þ½ÃÁö¸¦ ¿Ç°Ô ¹Þ¾ÆµéÀÌÁö ¾Ê¾ÒÀ½À» Ç¥½ÃÇÏ´Â ¿¡·¯¸¦ Ãâ·ÂÇÏ°Ô µÇ´Â °ÍÀÌ´Ù."...(ÀÚ¹Ù ¼­ºí¸´ ÇÁ·Î±×·¡¹Ö 21ÀÏ ¿Ï¼º, À±Áö¼ö Àú, »ï°¢Çü ÇÁ·¹½º, 98.12.15, 116page ) ^^; Ã¥ÀÌ ÁÁ±º¿ä.
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		°¥ ¼ö·Ï µþ¸®´Â ½Ç·Â, Ã¥ÀÌ³ª ¸¹ÀÌ ºÁ¾ß°Ú½À´Ï´Ù. ÁÁÀº ÇÏ·ç µÇ¼¼¿ä.
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
</lecture>
