useBean : session Bean : bean Ȱ¿ë #1 : Bean Ȱ¿ë #2

JSP °­ÁÂ > useBean

2000-12-20 kenu


JSPÀÇ ÀåÁ¡Àº µðÀÚÀΰú ÇÁ·Î±×·¥ ¾çÂÊÀÌ ´Ù Àڽſ¡ Ãæ½ÇÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
¼Ò½ºÄڵ忡 ½ºÅ©¸³Æ®(Scriptlet À̶ó°í ÇÕ´Ï´Ù.)¸¦ ÁÙÀÏ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. scriptletÀ»ÁÙÀÌ´Â ¹ýÀº ºó(bean)À» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. BeanÀº java ¼Ò½º¸¦ ÄÄÆÄÀÏÇÑ class ÆÄÀÏÀ» ÁöĪÇÕ´Ï´Ù. Áï ÀÚ¹Ù¿Í ¿¬°áÇÏ´Â °ÍÀÌÁÒ. ÀÌ ¿¬°áÀÌ ¾î·ÆÁö ¾Ê´Ù´Â °ÍÀÔ´Ï´Ù. ÇÏ±ä ¾ÆÁ÷ Àúµµ Àͼ÷ÇÏÁø ¾Ê½À´Ï´Ù. ¼­ºí¸´ Á¦ÀÛ´É·ÂÀ» Ű¿ö¾ß ÇÕ´Ï´Ù. ÀÚ¹Ù¸¦ Àß ¾Ë¾Æ¾ßÇÑ´Ù´Â ¶æÀÌÁÒ. Áö·¹ °Ì¸ÔÁö´Â ¸¶½Ê½Ã¿À. ¾î·Á¿î °ÍÀº ¾Æ´Ï´Ï±î¿ä. ³¸¼± °Í»ÓÀÌÁÒ.

BeanÀÇ À§Ä¡´Â root/WEB-INF/classes/ µð·ºÅ丮°¡ ±âº»ÀÔ´Ï´Ù. ¹°¸®Àû À§Ä¡ÀÌÁÒ. À¥¿¡¼­ÀÇ °æ·Î´Â localhost/servlet/ ÀÔ´Ï´Ù. ¼­ºí¸´°ú °°Àº À§Ä¡ÀÌÁÒ. ÀúÀÇ °æ¿ì´Â ÀÌ·¸°Ô µË´Ï´Ù. c:/jsphome/WEB-INF/classes ¿Í http://localhost/servlet/ ÀÔ´Ï´Ù.

BeanÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù. À½~ ¿¡µðÅ͸¦ ÀÌ¿ëÇÏ¸é µË´Ï´Ù.

¼Ò½º¸¦ ºô·Á¿À°Ú½À´Ï´Ù. ¿À´Ã ¾Æ³»°¡ Ã¥À» ±¸ÇØÁ༭¸®... ^^ (about JSP ¿µÁø²¨ÁÒ.; ¿ÀŸ ¸¹³×¿± Çæ~)

HelloBean.java

package bean;

public class HelloBean
{
private String name;

public HelloBean()
{
this.name = "World";
}

public void setName(String n)
{
this.name = n;
}

public String getName()
{
return this.name;
}
}

ÀÌ ¼Ò½º¸¦ HelloBean.java ¶ó´Â À̸§À¸·Î ÀúÀåÀ» ÇÕ´Ï´Ù. c:/jsphome/WEB-INF/classes/bean µð·ºÅ丮¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

¹°·Ð javac ÀÌ Á¦´ë·Î ½ÇÇàµÇ·Á¸é path¿¡ jdk1.3\bin ÀÌ ÀâÇôÀÖ¾î¾ß ÇÕ´Ï´Ù. jdk°¡ ¼³Ä¡µÇ¾îÀÖ¾î¾ß µÈ´Ù´Â ¸»¾¸ÀÌÁÒ. ¾û? HelloBean.class ´Â ¸ð³Ä±¸¿ä? ÀڱⰡ ¾Ë¾Æ¼­ »ý±é´Ï´Ù. HelloBean.java¸¸ Á¦ÀÚ¸® ÀÖÀ¸¸é µË´Ï´Ù.

ÀÚ ºê¶ó¿ìÀú¿¡ Http://localhost/hello.jsp ¸¦ ÀÔ·ÂÇØº¸¼¼¿ä. Çä. ¼Ò½º°¡ ¾ø´Ù±¸¿ä. Àá±ñ¸¸¿ä... ¿©±â~ ¼Ò½º!

hello.jsp

<jsp:useBean id="hbean" class="bean.HelloBean" />
<html>
<head>Hello</head>
<body>
html ÀÔ´Ï´Ù.
<hr>
<jsp:setProperty name="hbean" property="name" param="name"/>
Hello <jsp:getProperty name="hbean" property="name" /> !
<br> À̸§Àº jsp¸¦ ÅëÇØ¼­ ³ª¿Â °ÍÀÌÁÒ.
</body>
</html>

ÀÌ hello.jsp ÆÄÀÏÀº c:/jsphome/ ¿¡ ³õÀ¸½Ã¸é µË´Ï´Ù. ¼Ò½º¸¦ copy & paste ÇϽŠºÐµéÀº ÁüÀÛÀ» ¸øÇϼ̰ÚÁö¸¸, ¶ÇÀ̶ÇÀÌ ÇϽŠºÐµéÀº ¹ß°ßÇÑ Á¡ÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. bean(HelloBean.java) ÀÇ À§Ä¡¿Í bean ¼Ò½º¿¡ ÀÖ´Â package À̸§°ú hello.jsp ¼Ò½ºÀÇ useBean ÅÂ±× ¾È¿¡ ÀÖ´Â class °ªÀÌ °øÅëºÎºÐÀÌ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.

<jsp:useBean />ű×ÀÇ id ¼Ó¼ºÀº jsp ÆÄÀÏ ³»¿¡¼­ÀÇ beanÀÇ À̸§ÀÔ´Ï´Ù. <jsp:setPropery />¿Í <jsp:getProperty /> ű×ÀÇ name ¼Ó¼º¿¡¼­ ÀÌ¿ëÇÏ°Ô µÇ´Â °ÍÀÌÁÒ. ÀÌ id ¼Ó¼ºÀ» ´Þ¸®ÇÏ¸é ¿©·¯ °³ÀÇ beanÀ» µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÖÁÒ.

±×·³ °°Àº ºóÀ» ´Ù¸£°Ô À̸§(id)À» ÁÖ¸é ¾î¶»°Ô µÇ³Ä±¸¿ä? ÁÁÀº Áú¹®ÀÔ´Ï´Ù. ¶ÇÀ̶ÇÀÌÇÑ ÇлýÀ̱º¿ä. ÄÀ... Àú ¼±»ý¾Æ´Ñµ¥... Á¤´äÀº °¢°¢ ´Ù¸£°Ô ÇൿÇÑ´Ù ÀÔ´Ï´Ù. ½Ç½ÀÀº À̵û°¡ ÇÒ²²¿ä. ¾ÆÁ÷ ±×Àü¿¡ Áý°í ³Ñ¾î°¥°Ô ÀÖÀ¸´Ï±î¿ä.

<jsp:setProperty /> ÅÂ±× º¸ÀÌÁÒ? bean¿¡ °ªÀ» set ÇØÁÖ´Â °ÍÀÔ´Ï´Ù. property="name" À̶ó´Â ºÎºÐ°ú HelloBean.java ÀÇ public void setName(String n){this.name = n;} ºÎºÐ°ú °ü°èÀÖ½À´Ï´Ù. °ü·Ê¶ó°í ÇÒ±î¿ä? propertyÀÇ name °ª°ú setName ÀÇ ´ë¹®ÀÚ·Î ½ÃÀÛÇÏ´Â Name ÀÌ °°Àº °ÍÀÔ´Ï´Ù. Áï bean¿¡¼­ÀÇ set 󸮺κÐÀÇ ¸Þ¼Òµå À̸§¿¡´Â jsp ÀÇ setProperty ÀÇ property °ªÀ» ù±ÛÀÚ¸¦ ´ë¹®ÀÚ·Î ½ÃÀÛÇÏ°í ¾Õ¿¡ setÀ» ºÙ¿©¼­ »ç¿ëÇÑ´Ù´Â ¶æÀÌÁÒ. ¹Ý´ë·Î ¿¹¸¦ µé¸é bean ÀÇ setName() ¿¡¼­ setÀ» »« name (¼Ò¹®ÀÚ·Î ½ÃÀÛ)ÀÌ jspÀÇ <jsp:setProperty /> ű×ÀÇ property °ªÀ¸·Î ¾²Àδٴ °ÍÀÔ´Ï´Ù. ¿©±â¼­ ÁÖ¾îÁø °ªÀÌ bean¿¡ ÀÔ·ÂÀÌ µË´Ï´Ù.

±×·³ ´«Ä¡ ±î¼ÌÁÒ. <jsp:getProperty /> ´Â ¹Ý´ëÀÇ ¿ªÇÒÀ» ÇÕ´Ï´Ù.

HelloBean.java ÀÇ public void setName(String n) ¾Õ¿¡ ÀÖ´Â void ´Â ¹ÝȯÇÏ´Â °ªÀÌ ¾ø´Ù´Â ¶æÀÔ´Ï´Ù. ´ë½Å String °ªÀ» ¹Þ¾Æ¿Â´Ù´Â ¶æÀÌÁÒ. HelloBean.java ´Â ÀüÇüÀûÀÎ ÀÚ¹Ù ¼Ò½ºÀÔ´Ï´Ù. javaÃ¥µµ ÇÑ±Ç ÁغñÇØ µÎ½ÉÀÌ... ¾È ±×·³ jsp Áøµµ¸¦ ¸ø³ª°¡¿ä... ÇíÇí...
public String getName() ¿¡¼­´Â String °ªÀ» return ÇÑ´Ù´Â ¶æÀÌÁÒ. ¸Þ¼Òµå ¾È¿¡¼­ÀÇ ¼öÇàµÇ´Â ¹®ÀåÀ» º¸½Ã¸é ½±°Ô ÀÌÇØ°¥ °ÍÀÔ´Ï´Ù.

ºê¶ó¿ìÀú¿¡

http://localhost/hello.jsp?name=Na

¶ó°í ÀÔ·ÂÇØº¸¼¼¿ä. shift ´©¸¥ »óÅ¿¡¼­ Reload ÇϽô °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. ±×·³ Hello Na! ¶ó°í ³ª¿ÀÁÒ. ¿©±â¼­ ¿ì¸®°¡ ¾Ë ¼ö ÀÖ´Â °ÍÀº <jsp:setProperty /> ű׿¡¼­ param="name" ÀÇ ¿ªÇÒÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº HttpHeader ºÎºÐÀ» ÅëÇØ¼­ ÀüÇØÁö´Â nameÀÇ °ªÀ» value·Î Àü´Þ¹Þ¾Æ¿Â´Ù´Â ¶æÀÔ´Ï´Ù. Áï form ű׸¦ ÅëÇØ¼­ Àü´ÞµÇ°Å³ª, Áö±Ý º» °Í°ú °°ÀÌ URLÀ» ÅëÇØ¼­ º¸³»Áö´Â °ªÀ» ¹Þ¾Æ¿À´Â °ÍÀÔ´Ï´Ù. À½~ Àç¹Ì¾ø³ª?

´Ù½Ã hello.jsp ¹®À¸·Î µ¹¾Æ¿É´Ï´Ù. <jsp:setProperty />ÅÂ±× ¾È¿¡ value="Kenu" ¶ó´Â ºÎºÐÀ» Áý¾î³Ö¾îº¸¼¼¿ä. ±×¸®°í ½ÃÇÁÆ®¸¦ ²Ú ´©¸¥»óÅ¿¡¼­ ÆäÀÌÁö ¸®·ÎµùÀ» ÇØº¸¼¼¿ä. Hello Kenu! ¶ó°í ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.

ÀÌ Á¤µµ¸é ´«Ä¡ ¸¹ÀÌ ±÷À» °ÍÀÔ´Ï´Ù. ¾Æ±î Çß´ø ¹®Á¦ °°ÀÌ Ç®¾îº¸ÁÒ. ÀÌ ¿¹Á¦¸é ÃæºÐÇÒ °ÍÀÔ´Ï´Ù. hello2.jsp ÀÔ´Ï´Ù.

hello2.jsp

<jsp:useBean id="hbean1" class="bean.HelloBean" />
<jsp:useBean id="hbean2" class="bean.HelloBean" />
<html>
<head>Hello</head>
<body>
html ÀÔ´Ï´Ù.
<hr>
<jsp:setProperty name="hbean1" property="name" value="Kenu"/>
Hello <jsp:getProperty name="hbean1" property="name" /> !
<hr>
<jsp:setProperty name="hbean2" property="name" value="Dalnim"/>
Hello <jsp:getProperty name="hbean1" property="name" /> !<br>
Hello <jsp:getProperty name="hbean2" property="name" /> !
<br> À̸§Àº jsp¸¦ ÅëÇØ¼­ ³ª¿Â °ÍÀÌÁÒ.
</body>
</html>

ÈåÈå Á¦ ¸»ÀÌ ¸ÂÁÒ? ÇѰ¡Áö ´õ package ÁÙÀ» »©°í, HelloBean.java ÆÄÀÏÀ» classes Æú´õ¿¡ ³ÖÀ¸´Ï±î tomcat¿¡¼± µ¹¾Æ°¬´Âµ¥, Resin ¿¡¼­´Â ¾Èµµ³×¿ä. ºýµ¹°Ô... ±×·±µ¥ °õ°õÀÌ »ý°¢Çغ¸´Ï package¸¦ »ç¿ëÇÏ´Â ÂÊÀÌ ´õ ³ªÀ» °Í °°³×¿ä. ±×¸®°í, HelloBean.java µµ ResinÀº ÄÄÆÄÀÏÀÌ ±×³É µÇ³×¿ä. ±×·±µ¥ ¿É¼ÇÀÌ ÀÖ¾î¿ä. resin.conf ¿¡¼­ <classpath >ű׸¦ ãÀ¸½Ã¸é compile="true" ¶ó°í µÇ¾îÀÖÀ» °Ì´Ï´Ù. ÀÌ°Ç °³¹ßÀÌ ´Ù ³¡³ª¼­ BeanÀ» ¼Õ´î ÀÏÀÌ ¾øÀ» ¶§ false·Î ¹Ù²ã ³õÀ¸½Ã¸é ÁÁ°Ú³×¿ä. ^^ Çæ~ ¾ÆÁ÷ Àß ¸ð¸£°Ú¾î¿ä. ÇÏÁö¸¸ ÀÌ ¿É¼ÇÀÌ HelloBean.java ÄÄÆÄÀÏÇϴµ¥ ¿µÇâÀ» ÁÖ´Â °ÍÀº È®½ÇÇϳ׿±.

´ÙÀ½°­Á´ Bean ¿¡ ´ëÇØ¼­ ´õ °í±Þ½º·´°Ô ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¼ö°íÇϼ̾î¿ä. ±ä±Û ÀоîÁּż­¸®...

Âü°í : about JSP, ¿µÁø²¨. 3Àå

kenu: heogn@shinbiro.com
http://okjsp.pe.kr

back : next
 
since 2000/12/05