¼ºí¸´ ¹®¹ý
JSP´Â ¼ºí¸´ ±â¹Ý ±â¼úÀÔ´Ï´Ù.
±×·¯¹Ç·Î ¼ºí¸´¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ¸¦ ÇÑ ´ÙÀ½ JSP¸¦ ÀÌÇØÇÏ´Â °ÍÀÌ ³´´Ù°í »ý°¢ÇÕ´Ï´Ù.
JSP´Â ÅèŰú °°Àº ¼ºí¸´ ¿£Áø(¶Ç´Â ÄÁÅ×À̳Ê)¿¡ ÀÇÇØ °á±¹ ¼ºí¸´À¸·Î º¯È¯ ÈÄ¿¡ ¼ºñ½ºµË´Ï´Ù.
¼ºí¸´Àº CGI ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÀÚ¹ÙÃø ±â¼ú·Î µîÀåÇß°í, JSP´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® Áø¿µÀÇ ASP°¡ Àα⸦ ²øÀÚ
ASP¿¡ ´ëÀÀÇϱâ À§ÇÑ ÀÚ¹ÙÃø ±â¼ú·Î ³ªÅ¸³³´Ï´Ù.
¼ºí¸´Àº javax.servlet °ú javax.servlet.http µÎ°³ÀÇ ÆÑŰÁö·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù.
javax.servlet ÆÑŰÁö´Â ¸ðµç ¼ºí¸´ÀÌ »ó¼ÓÇϰųª ±¸ÇöÇÏ´Â ÀϹÝÀûÀÎ ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
javax.servlet.http ÆÑŰÁö´Â HTTP ÇÁ·ÎÅäÄÝ¿¡ ¸ÂÃá ¼ºí¸´ Ŭ·¡½º·Î ±¸¼ºµË´Ï´Ù.
javax.servlet.Servlet ÀÎÅÍÆäÀ̽º´Â ¼ºí¸´ ¾ÆÅ°ÅØÃ³ÀÇ ÇÙ½ÉÀÌ¸ç ¸ðµç ¼ºí¸´ÀÇ ±âÃʰ¡ µË´Ï´Ù.
Servlet ÀÎÅÍÆäÀ̽º¿¡´Â 5°³ÀÇ ¸Þ¼Òµå°¡ Àִµ¥ ±× Áß °¡Àå Áß¿äÇÑ 3°³ÀÇ ¸Þ¼Òµå´Â ´ÙÀ½°ú °°½À´Ï´Ù.
- init() : ¼ºí¸´À» ÃʱâÈ
- service() : Ŭ¶óÀÌ¾ðÆ® ¿äû¿¡ ´ëÇÑ ¼ºñ½º
- destory() : ÀÚ¿ø¹Ý³³
ÀÌµé ¸Þ¼Òµå´Â ¼ºí¸´ ¶óÀÌÇÁ»çÀÌŬ(»ý¸íÁÖ±â) ¸Þ¼ÒµåÀÔ´Ï´Ù.
¸ðµç ¼ºí¸´Àº »ó¼ÓÀ» ÅëÇØ¼µç ¾Æ´Ï¸é Á÷Á¢ÀûÀÎ ±¸ÇöÀ» ÅëÇØ¼µç ¹Ýµå½Ã Servlet ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
1. ¼ºí¸´ÀÇ ±âº» °ñ°ÝÀÎ ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º
¾Æ·¡ ±×¸²Àº ¼ºí¸´ÀÇ ±âº» °ñ°ÝÀÌ µÇ´Â ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
À̾îÁö´Â ¼³¸íÀ» ½±°Ô ÀÌÇØÇϱâ À§Çؼ´Â ¾Æ·¡ Ŭ·¡½º ´ÙÀ̾î±×·¥À» ±â¾ïÇØ¾ß ÇÕ´Ï´Ù.
(GenericServlet, HttpServletÀÇ ¸ðµç ¼Ó¼º°ú ¸Þ¼Òµå°¡ ±×¸²¿¡ Ç¥½ÃµÈ °ÍÀº ¾Æ´Õ´Ï´Ù.)
(1) Setvlet ÀÎÅÍÆäÀ̽º
¸ðµç ¼ºí¸´Àº Servlet ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
¼ºí¸´ÀÇ ¶óÀÌÇÁ»çÀÌŬ ¸Þ¼Òµå¸¦ ¼±¾ðÇϰí ÀÖ´Â ÀÎÅÍÆäÀ̽º°¡ javax.servlet.Servlet ÀÎÅÍÆäÀ̽º ÀÔ´Ï´Ù.
¶óÀÌÇÁ »çÀÌŬ ¸Þ¼Òµå´Â init, service, destory ¸Þ¼ÒµåÀÔ´Ï´Ù.
init
init() ¸Þ¼Òµå´Â ¼ºí¸´ÀÌ ±× ÀÏ»ýÀ» ½ÃÀÛÇÏ°Ô ÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù.
init() ¸Þ¼Òµå´Â ¼ºí¸´ÀÌ ÀνºÅϽº°¡ µÈ ÈÄ ¼ºí¸´ ÄÁÅ×À̳ʿ¡ ÀÇÇØ È£ÃâµÇ´Âµ¥ Çѹø¸¸ È£ÃâµË´Ï´Ù.
¼ºí¸´Àº ¾î¶² ¿äûÀ» ¹Þ±â Àü¿¡ ¹Ýµå½Ã ¹Ýµå½Ã init ¸Þ¼Òµå°¡ ¼º°øÀûÀ¸·Î ¼öÇàµÇ¾î¾ß¸¸ ÇÕ´Ï´Ù.
init() ¸Þ¼Òµå°¡ ¼º°øÀûÀ¸·Î ¼öÇàµÇ¸é ºñ·Î¼Ò ¼ºí¸´Àº ¼ºñ½º »óŰ¡ µË´Ï´Ù.
init ( config : ServletConfig )
init() ¸Þ¼Òµå´Â ÆÄ¶ó¹ÌÅÍ·Î ServletConfig °´Ã¼¸¦ Àü´Þ¹Þ½À´Ï´Ù.
ServletConfig °´Ã¼´Â ¼ºí¸´ÀÇ ¼³Á¤°ú ÃʱâÈ ÆÄ¶ó¹ÌÅÍ Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù.
init() ¸Þ¼Òµå´Â ServletException À» ´øÁú ¼ö ÀÖµµ·Ï ¼±¾ðµÇ¾î ÀÖ½À´Ï´Ù.
service
service() ¸Þ¼Òµå´Â Ŭ¶óÀÌ¾ðÆ®°¡ ¼ºí¸´À» ¿äûÇÏ¸é ¼ºí¸´ ÄÁÅ×À̳ʿ¡ ÀÇÇØ È£ÃâµÇ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù.
service ( req : ServletRequest, res : ServletResponse )
service() ¸Þ¼Òµå´Â ServletRequest ¿Í ServletResponse 2°³ÀÇ ÆÄ¶ó¹ÌÅ͸¦ °¡Áý´Ï´Ù.
ServletRequest ´Â Ŭ¶óÀÌ¾ðÆ® ¿äû Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù.
ServletResponse ´Â ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Çϱâ À§ÇØ »ç¿ëÇÕ´Ï´Ù.
service() ¸Þ¼Òµå´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ¼ºí¸´ÀÌ ÀÀ´äÇϵµ·Ï ¼ºí¸´ ÄÁÅ×À̳ʿ¡ ÀÇÇØ È£ÃâµË´Ï´Ù.
¼ºí¸´Àº ¸ÖƼ½º·¹µå ÇÁ·Î±×·¥ÀÎ ¼ºí¸´ ÄÁÅ×ÀÌ³Ê ¼Ó¿¡¼ µ¿ÀÛÇϱ⠶§¹®¿¡ ¼ö¸¹Àº Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ´ëÇØ ÁöüÇÏÁö ¾Ê°í ÀÀ´äÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¯¹Ç·Î ¼ºí¸´¿¡¼ °øÀ¯µÇ´Â ÀÚ¿ø(ÆÄÀÏÀ̳ª ³×Æ®¿öÅ© Ä¿³Ø¼Ç, Ŭ·¡½º º¯¼ö, ÀνºÅϽº º¯¼ö)À̶ó¸é ¸ðµÎ µ¿±âȵǾî¾ß ÇÕ´Ï´Ù.
¼ºí¸´ ÇÁ·Î±×·¡¹Ö¿¡¼ Ŭ·¡½º º¯¼ö³ª ÀνºÅϽº º¯¼ö´Â º¸Åë ¸¸µéÁö ¾Ê½À´Ï´Ù.
destory
¼ºí¸´ ¶óÀÌÇÁÀÇ ³¡À» ÀǹÌÇÕ´Ï´Ù.
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ shutdown µÉ¶§, ¼ºí¸´ÀÇ destory() ¸Þ¼Òµå°¡ È£ÃâµË´Ï´Ù.
destory ()
(2) GenericServlet Ãß»óŬ·¡½º
GenericServlet´Â Servlet¸¦ ±¸ÇöÇÑ Å¬·¡½ºÀÔ´Ï´Ù.
GenericServlet ÀÇ service() ¸Þ¼Òµå´Â Ãß»ó ¸Þ¼ÒµåÀ̱⠶§¹®¿¡ GenericServlet ¸¦ »ó¼ÓÇÏ´Â
ÀÚ½Ä Å¬·¡½º¿¡¼´Â ÀÌ service() ¸Þ¼Òµå¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
<<abstract>> + service ( req : ServletRequest, res : ServletResponse )
(3) HttpServlet Ŭ·¡½º
HttpServlet Ŭ·¡½º´Â GenericServlet Ãß»ó Ŭ·¡½º¸¦ »ó¼ÓÇÕ´Ï´Ù.
HttpServlet Ŭ·¡½º´Â GenericServlet ÀÇ service() Ãß»ó ¸Þ¼Òµå¸¦ ±¸ÇöÇϰí ÀÖ½À´Ï´Ù.
µû¶ó¼ HttpServlet Ŭ·¡½º¸¦ »ó¼ÓÇϴ Ŭ·¡½º´Â service() ¸Þ¼Òµå¸¦ ÀϹÝÀûÀ¸·Î ±¸ÇöÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â GenericServlet ÀÇ service () Ãß»ó ¸Þ¼Òµå¸¦ ±¸ÇöÇÑ ¸Þ¼ÒµåÀÔ´Ï´Ù.
+ service ( req : ServletRequest, res : ServletResponse )
¸Þ¼ÒµåÀÇ ±¸Çö ³»¿ëÀº ´ÜÁö Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» protected service() ¸Þ¼Òµå¿¡ Àü´ÞÇÏ´Â °ÍÀÔ´Ï´Ù.
¾Æ·¡´Â proctected service () ¸Þ¼ÒµåÀÔ´Ï´Ù.
# service ( req : HttpServletRequest, res : HttpServletResponse )
HttpServlet ÀÇ + service() ´Â ´ÜÁö # service() ¸Þ¼Òµå¿¡°Ô Á¦¾î±ÇÀ» ³Ñ±â´Â ¿ªÇÒ¸¸ ÇÕ´Ï´Ù.
HttpServlet Ŭ·¡½ºÀÇ # service() ¸Þ¼Òµå°¡ È£ÃâµÇ¸é ÀÌ ¸Þ¼Òµå´Â request ¾È¿¡¼ HTTP METHOD ŸÀÔ°ª(POST, GET)À» Àо°í
ÀÌ °ª¿¡ µû¶ó¼ doGet(), doPost() ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ doGet(), doPost() °¡ ¿ì¸®°¡ ¿À¹ö¶óÀ̵ù ÇØ¾ß ÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù.
HTTP METHOD ŸÀÔÀÌ GET À̸é doGet()¸¦, HTTP METHOD ŸÀÔÀÌ POST À̸é doPost()¸¦ ¿À¹ö¶óÀ̵ù ÇØ¾ß ÇÕ´Ï´Ù.
HttpServlet Ŭ·¡½ºÀÇ # service () ¸Þ¼Òµå¿¡ Àü´ÞµÇ´Â ÆÄ¶ó¹ÌÅÍ, HttpServletRequest ¿Í HttpServletResponse ´Â
GenericServlet Ŭ·¡½º¿¡ Àü´ÞµÇ´Â ÆÄ¶ó¹ÌÅÍ¿´´ø ServletRequest, ServletResponse °¢°¢À» »ó¼ÓÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
HttpServletRequest ¿Í HttpServletResponse ¸¦ ±¸ÇöÇÑ Å¬·¡½º´Â ¼ºí¸´ ÄÁÅ×À̳ʰ¡ »ý¼ºÇÏ¿© ¼ºí¸´ÀÇ + service () ¸Þ¼Òµå¿¡ ¾Æ±Ô¸ÕÆ®·Î
Àü´ÞµË´Ï´Ù.
ÀÌ·¸µí HttpServletRequest, HttpServletResponse ¸¦ ±¸ÇöÇÑ Å¬·¡½º´Â ¼ºí¸´ ÄÁÅ×À̳ʸ¦ Á¦ÀÛÇÏ´Â º¥´õÀÇ ¸òÀÔ´Ï´Ù.
2. °£´ÜÇÑ ¼ºí¸´ ¿¹Á¦¿Í ¼³¸í
Áö±Ý±îÁö ¼ºí¸´ÀÌ ¹«¾ùÀÌ°í ¾î¶»°Ô ÀÛµ¿Çϴ¿¡ °üÇÑ ³»¿ëÀ̾ú½À´Ï´Ù.
ÀÌÁ¦ °£´ÜÇÑ ¼ºí¸´ ¿¹Á¦¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù.
SimpleServlet.java
package example;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class SimpleServlet extends HttpServlet {
public void doGet( HttpServletRequest req, HttpServletResponse res )
throws ServletException, IOException {
doPost(req,res);
}
public void doPost( HttpServletRequest req, HttpServletResponse res )
throws ServletException, IOException {
res.setContentType( "text/html;charset=euc-kr" );
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<body>");
//¿äûÇÑ Å¬¶óÀ̾ðÆ®ÀÇ IP¸¦ Ãâ·ÂÇÕ´Ï´Ù.
out.println("´ç½ÅÀÇ IP ´Â " + req.getRemoteAddr() + "ÀÔ´Ï´Ù.\n");
out.println("</body></html>");
out.close();
}
}
SimpleServlet °¡ init() °ú destory() ¸Þ¼Òµå¸¦ ±¸ÇöÇϰí ÀÖÁö ¾Ê½À´Ï´Ù.
ÀÌ ¸Þ¼ÒµåµéÀº GenericServlet ÀÌ ±¸ÇöÇϰí Àֱ⿡ ±¸ÇöÇÏÁö ¾Ê¾Æµµ µÇ´Â °ÍÀÔ´Ï´Ù.
(1) SimpleServletÀ» ÄÄÆÄÀÏ, ½ÇÇà
(a) ROOT À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ WEB-INF/web.xml ÆÄÀÏÀ» ¿°í web-app ¿¤¸®¸ÕÆ®ÀÇ ÀÚ½Ä ¿¤¸®¸ÕÆ®·Î ¾Æ·¡¸¦ Ãß°¡ÇÕ´Ï´Ù.
web.xml
.. Áß°£ »ý·« ..
<servlet>
<servlet-name>SimpleServlet</servlet-name>
<servlet-class>example.SimpleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name>
<url-pattern>/servlet/SimpleServlet</url-pattern>
</servlet-mapping>
.. Áß°£ »ý·« ..
(b) SimpleServlet.java ¸¦ ¼Ò½º°¡ ÀÖ´Â Æú´õ¿¡¼ ¾Æ·¡¿Í °°ÀÌ ÄÄÆÄÀÏÇÕ´Ï´Ù.
javac -d C:/www/myproject/WEB-INF/classes -classpath C:/apps/tomcat/common/lib/servlet-api.jar SimpleServlet.java
package javax.servlet.http does not exist
SimpleServlet.java ¸¦ ÄÄÆÄÀÏÇÒ ¶§ À§¿Í °°Àº ÄÄÆÄÀÏ ¿¡·¯°¡ ³ª¿Â´Ù´Â °ÍÀº ÀÚ¹Ù ÄÄÆÄÀÏ·¯°¡ javax.servlet.http ÆÑŰÁö¸¦
ãÁö ¸øÇÑ´Ù´Â Àǹ̷Î, classpath ¿É¼ÇÀÇ °ªÀ¸·Î servlet-api.jar ÆÄÀÏÀÇ Ç®ÆÐ½º¸¦ À߸ø Àû¾ú±â ¶§¹®ÀÔ´Ï´Ù.
¸¸¾à C:/apps/tomcat ¿Í ´Þ¸® Áß°£¿¡ °ø¹éÀÌ ÀÖ´Â µð·º·Î¸®(¿¹¸¦ µé¸é, C:/apps/Tomcat 5.5 )¿¡ Tomcat À» ¼³Ä¡Çß´Ù¸é
classpath ¿É¼Ç¿¡ °ªÀ» ÁÙ ¶§ "" À¸·Î ¹¾îÁÖ¸é µË´Ï´Ù.
´Ù¸¥ ¹æ¹ýÀ¸·Î´Â CLASSPATH ¶õ ȯ°æº¯¼ö¿¡ TOMCAT_HOME/common/lib/servlet-api.jar ¸¦ Ãß°¡ÇØÁÖ¸é ¾Æ·¡¿Í °°ÀÌ classpath ¿É¼ÇÀ»
»ç¿ëÇÏÁö ¾Ê°íµµ ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
javac -d C:/www/myproject/WEB-INF/classes SimpleServlet.java
(c) C:/apps/Apache2/conf/httpd.conf ÆÄÀÏÀ» ¿°í
JkMount /*.jsp tomcat1 ´ÙÀ½¿¡ JkMount /servlet/* tomcat1 ¸¦ Ãß°¡ÇÕ´Ï´Ù.
httpd.conf
.. Áß°£ »ý·« .. JkMount /*.jsp tomcat1 JkMount /servlet/* tomcat1 .. Áß°£ »ý·« ..
(d) ¾ÆÆÄÄ¡, Tomcat À» Àç½ÃÀÛÇÑ ÈÄ http://localhost/servlet/SimpleServlet ·Î ¹æ¹®ÇÕ´Ï´Ù.
(2) SimpleServlet ÄÚµå ¼³¸í
SimpleServlet ¿¡¼ doGet()°ú doPost() ÀÌ µÎ ¸Þ¼Òµå´Â HttpServlet ÀÇ doGet(), doPost() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å ÇÑ ¸Þ¼ÒµåÀÔ´Ï´Ù.
¸ðµç ºñÁî´Ï½º ·ÎÁ÷ÀÌ ÀÌ ¸Þ¼Òµå¿¡ Á¸ÀçÇÕ´Ï´Ù.
¿¹Á¦¿¡¼ doGet() ¸Þ¼Òµå´Â ´Ü¼øÈ÷ doPost() ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
¾Æ·¡ ÄÚµå´Â ÀÀ´ä(HttpServletResponse)ÀÇ ÄÁÅÙÃ÷ŸÀÔÀ» ¼ÂÆÃÇÏ´Â ÀÛ¾÷À» ÇÕ´Ï´Ù.
ÀÌ ÄÚµå´Â ¼ºí¸´¿¡¼ ´Ü Çѹø¸¸ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.
¶ÇÇÑ OutputStream À¸·Î¼ PrintWriter ¸¦ ÄÚµùÇϱ⿡ ¾Õ¼ À§ ÄÚµù ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁ® ÀÖ¾î¾ß ÇÕ´Ï´Ù.
PrintWriter ÀÇ È¹µæÀº HttpServletResponse ÀÇ getWriter() À» È£ÃâÇÔÀ¸·Î½á ÀÌ·ç¾îÁý´Ï´Ù.
PrintWriter out = res.getWriter();
PrintWrtier´Â Ŭ¶óÀÌ¾ðÆ®·ÎÀÇ ÀÀ´äÀ¸·Î º¸³»´Â ½ºÆ®¸²¿¡ ±ÛÀ» ¾µ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù.
±×·¯¸é Ŭ¶óÀ̾ðÆ®ÀÇ ºê¶ó¿ìÀú¿¡¼ ÀÌ ±ÛÀ» º¼ ¼ö ÀÖ°Ô µË´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®¿¡ ÅØ½ºÆ®¸¦ º¸³¾ ¼ö ÀÖ´Â °´Ã¼¿¡ ´ëÇÑ ·¹ÆÛ·±½º(out)¸¦ ¾ò¾úÀ¸¹Ç·Î,
ÀÌ °´Ã¼¸¦ »ç¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¸Þ½ÃÁö¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.
ÀÌ ¸Þ½ÃÁö´Â HTML¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù.
ÀÌ´Â ¸Þ½ÃÁö°¡ Ŭ¶óÀ̾ðÆ®ÀÇ À¥ºê¶ó¿ìÀú¿¡ º¸ÀÌ°Ô Çϱâ À§ÇÔÀÔ´Ï´Ù.
´ÙÀ½ ¸î ¶óÀÎÀº À̰ÍÀÌ ¾î¶»°Ô ÇàÇØÁö´ÂÁö º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
out.println( "<body>" );
//¿äûÇÑ Å¬¶óÀ̾ðÆ®ÀÇ IP¸¦ Ãâ·ÂÇÕ´Ï´Ù.
out.println( "´ç½ÅÀÇ IP ´Â " + req.getRemoteAddr() + "ÀÔ´Ï´Ù.\n" );
À§¿¡¼ º¸µíÀÌ SimpleServlet´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô HTMLÀ» º¸³»±â À§ÇØ PrintWriterÀÇ println()¸Þ¼Òµå¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
req.getRemoteAddr() ºÎºÐÀº Ŭ¶óÀÌ¾ðÆ®¿¡¼ º¸³»¿Â Á¤º¸¸¦ ÀÌ¿ëÇÕ´Ï´Ù.
Áï, HttpServletRequest ÀÇ getRemoteAddr() ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© Ŭ¶óÀ̾ðÆ®ÀÇ ÁÖ¼Ò¸¦ ¹Ýȯ¹Þ°í ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô, HttpServeltRequest ´Â Ŭ¶óÀÌ¾ðÆ®°¡ º¸³»°Å³ª, Ŭ¶óÀÌ¾ðÆ®¿¡ °üÇÑ Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù.
´ÙÀ½Àº ±âº»ÀûÀ¸·Î ÇѹøÀº ÀÐ¾î ºÁ¾ß ÇÒ ¼ºí¸´ Ŭ·¡½º¿Í ¸Þ¼Òµå¸¦ Á¤¸®ÇØ ³õÀº °ÍÀÔ´Ï´Ù.
3. ¼ºí¸´ Ŭ·¡½º, ÀÎÅÍÆäÀ̽º ¿ä¾à
- Servlet ÀÎÅÍÆäÀ̽º
- init (config:ServletConfig)
- service(req:ServletRequest, res:ServletResponse)
- destroy()
- getServletConfig() : ServletConfig
- ¼ºí¸´ ÃʱâÈ¿¡ °ü·ÃµÈ º¯¼ö¸¦ °¡Áö°í ÀÖ´Â ServletConfig °´Ã¼¸¦ ¸®ÅÏ
- getServletInfo() : String
- ¼ºí¸´¿¡ ´ëÇÑ °£´ÜÇÑ Á¤º¸¸¦ ¸®ÅÏ
- ServletConfig ÀÎÅÍÆäÀ̽º
- getInitParameter(name:String) : String
- name¿¡ ÇØ´çÇÏ´Â ÃʱâÈ ÆÄ¶ó¹ÌÅÍ °ªÀ» ¸®ÅÏ
- getInitParameterNames() : Enumeration
- ¼ºí¸´ÀÇ ÃʱâÈ ÆÄ¶ó¹ÌÅÍ À̸§µéÀ» Enumeration ŸÀÔÀ¸·Î ¸®ÅÏ
- getServletContext() : ServletContext
- ServletContext ¸¦ ¸®ÅÏ
- getServletName() : String
- ¼ºí¸´ ÀνºÅϽºÀÇ À̸§ ¸®ÅÏ
- + GenericServlet Ãß»ó Ŭ·¡½º
- ÇÁ·ÎÅäÄÝ¿¡ ¹«°üÇÑ ±âº»ÀûÀÎ ¼ºñ½º ±â´ÉÀ» Á¦°øÇϴ Ŭ·¡½º·Î Servlet, ServletConfig ÀÎÅÍÆäÀ̽º¸¦ ±¸Çö
- + init()
- ¼ºí¸´ ÃʱâÈ ¸Þ¼Òµå·Î, GenericServletÀÇ init(config:ServletConfig) ¸Þ¼ÒµåÀÇ ÀÇÇØ È£ÃâµÊ
- <<abstract>> + service (req:ServletRequest, res:ServletResponse)
- Servlet ÀÎÅÍÆäÀ̽ºÀÇ service() ¸Þ¼Òµå¸¦ Ãß»ó ¸Þ¼Òµå·Î ³²°ÜµÒ.
- HttpServlet Ãß»ó Ŭ·¡½º
- GenericServlet Ãß»ó Ŭ·¡½º »ó¼Ó
- # doGet (req:HttpServletRequest, res:HttpServletResponse)
- HTTPÀÇ GET ¿äûÀ» ó¸®Çϱâ À§ÇÑ ¸Þ¼Òµå
- # doPost (req:HttpServletRequest, res:HttpServletResponse)
- HTTPÀÇ POST ¿äûÀ» ó¸®Çϱâ À§ÇÑ ¸Þ¼Òµå
- + service (req:ServletRequest, res:ServletResponse)
- GenericServlet Ãß»óŬ·¡½ºÀÇ Ãß»ó ¸Þ¼Òµå service() ±¸Çö, ¾Æ·¡ service() ¸Þ¼Òµå¿¡ È£Ãâ
- # service (req:HttpServletRequest, res:HttpServletResponse)
- Ŭ¶óÀÌ¾îÆ®ÀÇ ¿äû¿¡ µû¶ó doGet(), doPost() ¸Þ¼Òµå È£Ãâ
- ServletContext ÀÎÅÍÆäÀ̽º
- ¼ºí¸´ÀÌ ¼ºí¸´/JSP ÄÁÅ×ÀÌ³Ê¿Í Åë½ÅÇϱâ À§Çؼ »ç¿ëÇÏ´Â ¸Þ¼Òµå Á¦°ø(
¿¹¸¦ µé¸é ÆÄÀÏÀÇ MIME ŸÀÔÀ» ¾ò°Å³ª RequestDispatcher¸¦ ¾ò°Å³ª ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇϱ⠵îµî..)
À¥ ¾ÖÇø®ÄÉÀ̼Ǹ¶´Ù ÇϳªÀÇ ServletContext °´Ã¼°¡ Á¸ÀçÇϰí ServletContext ´Â ServletConfigÀÇ getServletContext() ¸Þ¼Òµå¸¦
ÀÌ¿ëÇØ¼ ¾òÀ» ¼ö ÀÖÀ½.
À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ÀüüÀÇ °øµ¿ ÀúÀå¼Ò¸¦ ¿ªÇÒÀ» Çϴµ¥ ServletContext ¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ´Â ServletContext ¸¦ °øÀ¯ÇÏ´Â ¼ºí¸´À̳ª JSP¿¡¼ ÀÚÀ¯·Ó°Ô Á¢±ÙÇÒ ¼ö ÀÖÀ½. - setAttribute (name:Strng, value:Object)
- µ¥ÀÌÅ͸¦ À̸§°ú °ªÀÇ ½ÖÀ¸·Î ÀúÀåÇÑ´Ù.
- getAttribute (name:String) : Object
- À̸§À» ÀÌ¿ëÇØ¼ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ¸®ÅÏ
- removeAttribute(name:String)
- name¿¡ ÇØ´çÇÏ´Â µ¥ÀÌÅ͸¦ »èÁ¦
- getInitParameter(name:String) : String
- À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Àü¿µ¿ª¿¡ ´ëÇÑ ÃʱâÈ ÆÄ¶ó¹ÌÅÍ À̸§¿¡ ÇØ´çÇÏ´Â °ª ¹Ýȯ
- getRequestDispatcher(path:String) : RequestDispatcher
- ÁÖ¾îÁø Path ¸¦ À§ÇÑ RequestDispatcher ¸¦ ¸®ÅÏ
- getRealPath(path:String) : String
- ÁÖ¾îÁø °¡»ó PathÀÇ ½ÇÁ¦ Path¸¦ ¸®ÅÏ
- getResource(path:String) : URL
- ÁÖ¾îÁø Path ¿¡ ÇØ´çµÇ´Â ÀÚ¿øÀÇ URLÀ» ¸®ÅÏ
- log(msg:String)
- ·Î±×¿¡ ±â·Ï
- log(String message, Throwable throwable)
- ·Î±×¿¡ ±â·Ï
- RequestDispatcher ÀÎÅÍÆäÀ̽º
- Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ´Ù¸¥ ÀÚ¿ø(¼ºí¸´,JSP µî)À¸·Î Àü´ÞÇϱâ À§Çؼ »ç¿ë
- forward(req:ServletRequest, res:ServletResponse)
- Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ´Ù¸¥ ÀÚ¿øÀ¸·Î Àü´Þ
- include(req:ServletRequest, res:ServletResponse)
- ´Ù¸¥ ÀÚ¿øÀÇ ³»¿ëÀ» ÀÀ´ä¿¡ Æ÷ÇÔ
- ServletRequest ÀÎÅÍÆäÀ̽º
- ¼ºí¸´¿¡ ´ëÇÑ Å¬¶óÀ̾ðÆ®ÀÇ ¿äû Á¤º¸À» ´ã°í ÀÖÀ½.
- setAttribute(name:String,o:Object)
- °´Ã¼¸¦ ÁÖ¾îÁø À̸§À¸·Î ÀúÀå
- getAttribute(name:String) : Object
- ÁÖ¾îÁø À̸§ÀÇ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ¸®ÅÏ
- removeAttribute(name:String)
- ÁÖ¾îÁø À̸§ÀÇ µ¥ÀÌÅ͸¦ »èÁ¦
- getInputStream() : ServletInputStream
- Ŭ¶óÀÌ¾ðÆ® ¿äûÀÇ ¹Ùµð¿¡ ÀÖ´Â ¹ÙÀ̳ʸ® Å×ÀÌÅ͸¦ Àбâ À§ÇÑ ÀÔ·Â ½ºÆ®¸² ¸®ÅÏ
- getParameter(name:String) : String
- Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ Æ÷ÇԵǾî ÀÖ´Â ÆÄ¶ó¹ÌÅÍ À̸§¿¡ ÇØ´çÇÏ´Â °ª ¸®ÅÏ
- getParameterNames() : Enumeration
- Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ Æ÷ÇԵǾî ÀÖ´Â ¸ðµç ÆÄ¶ó¹ÌÅÍ À̸§À» Enumeration ŸÀÔÀ¸·Î ¸®ÅÏ
- getParameterValues(name:String) : String[]
- ÁÖ¾îÁø À̸§ÀÇ ÆÄ¶ó¹ÌÅÍ °ªÀ» String ¹è¿·Î ¸®ÅÏ, µ¿ÀÏÇÑ À̸§À¸·Î °ªÀÌ ¿©·¯ °³ ÀÖÀ» °æ¿ì »ç¿ë
- getServletPath() : String
- "/" ·Î ½ÃÀÛÇÏ´Â °æ·Î¸¦ ¸®ÅÏ. °æ·Î¿¡ Äõ¸®½ºÆ®¸µÀº Æ÷ÇÔµÇÁö ¾ÊÀ½.
- HttpServletRequest ÀÎÅÍÆäÀ̽º
- ServletReqeust »ó¼Ó
- getCookies() : Cookie[]
- ºê¶ó¿ìÀú°¡ Àü´ÞÇÑ ÄíŰ ¹è¿À» ¸®ÅÏ
- getSession() : HttpSession
- ÇöÀç ¼¼¼Ç(HttpSession)À» ¸®ÅÏ
- getSession(created:boolean) : HttpSession
- ÇöÀç ¼¼¼ÇÀ» ¸®ÅÏ, ¸¸¾à ¼¼¼ÇÀÌ ¾ø´Â °æ¿ì created °¡ true ÀÌ¸é ¼¼¼ÇÀ» »ý¼ºÈÄ ¸®ÅÏ
- ServletResponse ÀÎÅÍÆäÀ̽º
- Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÀ´äÀ» º¸³»±â À§ÇØ »ç¿ë
- getOutputStream() : ServletOutputStream
- ÀÀ´ä¿¡ ¹ÙÀ̳ʸ® µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâ À§ÇÑ Ãâ·Â ½ºÆ®¸² ¸®ÅÏ
- getWriter() : PrintWriter
- ÀÀ´ä¿¡ ¹®ÀÚ µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâ À§ÇÑ Ãâ·Â ½ºÆ®¸² ¸®ÅÏ
- setContentType(type:String)
- Ŭ¶óÀÌ¾ðÆ®·Î Àü´ÞµÇ´Â ³»¿ëÀÇ MIME ŸÀÔÀ» ¼³Á¤
- HttpServletResponse ÀÎÅÍÆäÀ̽º
- ServletResponse ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó, HTTP ÀÀ´äÀ» Ŭ¶óÀÌ¾ðÆ®¿¡ Àü¼ÛÇÏ´Â ¿ªÇÒ
- addCookie(cookie:Cookie)
- ÀÀ´ä¿¡ Äí۸¦ Àü¼Û
- sendRedirect(location:String)
- ÁÖ¾îÁø URL·Î ¸®´ÙÀÌ·ºÆ®
- HttpSession ÀÎÅÍÆäÀ̽º
- getAttribute(name:String) : Object
- setAttribute(name:String, value:Object)
- removeAttribute(name:String)
- invalidate()
- Cookie
- + Cookie(name:String, value:String)
- + getDomain() : String
- + getMaxAge() : int
- + getName() : String
- + getPath() : String
- + getSecure() : boolean
- + getValue() : String
- + setDomain(pattern:String)
- + setMaxAge(expiry:int)
- + setPath(uri:String)
- + setSecure(flag:boolean)
- + setValue(newValue:String)
Âü°í
http://java.sun.com/javaee/5/docs/api/
- ´ÙÀ½ °Á : ¼ºí¸´ ¿¹Á¦
- ÀÌÀü °Á : »õ·Î¿î "ÀÚ¹Ù À¥ ¾ÖÇø®ÄÉÀ̼Ç" ÀÛ¼º
