framework.action
Class Action

java.lang.Object
  extended by framework.action.Action

public abstract class Action
extends java.lang.Object

ºñÁö´Ï½º ·ÎÁ÷À» ó¸®Çϴ Ŭ·¡½º°¡ »ó¼Ó¹Þ¾Æ¾ß ÇÒ Ãß»óŬ·¡½ºÀÌ´Ù. ºäÆäÀÌÁö(jsp ÆäÀÌÁö)°¡ ½ÇÇàµÇ±â Àü¿¡ Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¼­¹ö·Î Àü¼ÛµÈ µ¥ÀÌÅ͸¦ Æí¸®ÇÏ°Ô ¾÷¹«·ÎÁ÷¿¡ ¹Ý¿µÇϱâ À§ÇÑ Àüó¸®(Pre-processing)¸ðµâÀÌ´Ù. ÇϳªÀÇ ¼­ºñ½º¿¡ ´ëÇØ ¿©·¯°³ÀÇ ¾÷¹«·ÎÁ÷À» ÄÄÆ÷³ÍÆ® ÇüÅ·ΠÀúÀÛÇÏ¿© µî·ÏÇÒ ¼ö ÀÖ´Ù. ÀÛ¼ºµÈ ActioinÀº action.properties¿¡ µî·ÏµÈ´Ù.


Constructor Summary
Action()
           
 
Method Summary
 void execute(javax.servlet.http.HttpServlet servlet, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Å¬¶óÀÌ¾ðÆ®¿¡¼­ ¼­ºñ½º¸¦ È£ÃâÇÒ ¶§ ¿äûÆÄ¶ó¹ÌÅÍ action¿¡ ¼³Á¤µÈ °ªÀ» Âü°íÇÏ¿© ÇØ´ç ¸Þ¼Òµå¸¦ ½ÇÇàÇÑ´Ù.
protected  Configuration getConfig()
          ¼³Á¤Á¤º¸¸¦ °¡Áö°í ÀÖ´Â °´Ã¼¸¦ »ý¼ºÇÏ¿© ¸®ÅÏÇÑ´Ù.
protected  ConnectionManager getConnectionManager()
          µ¥ÀÌŸº£À̽º ¿¬°á°ü¸®ÀÚ(ÄÁ³Ø¼Ç ¸Å´ÏÀú) °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  ConnectionManager getConnectionManager(java.lang.String serviceName)
          µ¥ÀÌŸº£À̽º ¿¬°á°ü¸®ÀÚ(ÄÁ³Ø¼Ç ¸Å´ÏÀú) °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  Box getInput()
          ¿äûÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ´ã°í ÀÖ´Â ÇØ½ÃÅ×À̺íÀ» ¸®ÅÏÇÑ´Ù.
protected  org.apache.commons.logging.Log getLogger()
          ActionÀÇ ·Î°Å°´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  MultipartBox getMultipartInput()
          Multipart ¿äûÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ´ã°í ÀÖ´Â ÇØ½ÃÅ×À̺íÀ» ¸®ÅÏÇÑ´Ù.
protected  java.io.PrintWriter getOut()
          ÀÀ´ä°´Ã¼ÀÇ PrintWriter °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  javax.servlet.http.HttpServletRequest getRequest()
          HTTP Ŭ¶óÀÌ¾ðÆ® ¿äû °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  javax.servlet.http.HttpServletResponse getResponse()
          HTTP Ŭ¶óÀÌ¾ðÆ® ÀÀ´ä °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  javax.servlet.http.HttpServlet getServlet()
          Action°´Ã¼¸¦ È£ÃâÇÑ ¼­ºí¸´ °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  javax.servlet.http.HttpSession getSession()
          Å¬¶óÀ̾ðÆ®ÀÇ ¼¼¼Ç °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  javax.servlet.http.HttpSession getSession(boolean create)
          Å¬¶óÀ̾ðÆ®ÀÇ ¼¼¼Ç °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
protected  java.lang.Object getSessionAttribute(java.lang.String key)
          ¼¼¼Ç°´Ã¼¿¡¼­ ÇØ´ç Ű¿¡ ÇØ´çÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÑ´Ù.
protected  void route(java.lang.String key)
          ¿äûÀ» JSPÆäÀÌÁö·Î Æ÷¿öµå(Forward) ÇÑ´Ù.
protected  void route(java.lang.String key, boolean isForward)
          ¿äûÀ» JSPÆäÀÌÁö·Î Æ÷¿öµå(Forward) ¶Ç´Â ÀçÁöÇâ(Redirect) ÇÑ´Ù.
protected  void setAttribute(java.lang.String key, java.lang.Object value)
          ¿äû°´Ã¼¿¡ Ű,°ª ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù.
protected  void setContentType(java.lang.String contentType)
          ÀÀ´ä°´Ã¼¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü¼ÛÇϱâ Àü¿¡ ÄÁÅÙÃ÷ŸÀÔÀ» ¼³Á¤ÇÑ´Ù.
protected  void setSessionAttribute(java.lang.String key, java.lang.Object value)
          ¼¼¼Ç°´Ã¼¿¡ Ű,°ª ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Action

public Action()
Method Detail

execute

public void execute(javax.servlet.http.HttpServlet servlet,
                    javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¼­ºñ½º¸¦ È£ÃâÇÒ ¶§ ¿äûÆÄ¶ó¹ÌÅÍ action¿¡ ¼³Á¤µÈ °ªÀ» Âü°íÇÏ¿© ÇØ´ç ¸Þ¼Òµå¸¦ ½ÇÇàÇÑ´Ù. ¸Þ¼Òµå¸íÀº process ¸¦ Á¢µÎ¾î·Î ÇÏ¿© action°ªÀ» Ãß°¡ÇÑ ¸íĪÀÌ´Ù. Á¤ÀǵÇÁö ¾ÊÀº ¸Þ¼Òµå¸¦ È£ÃâÇÒ °æ¿ì ·Î±×¿¡ ¿À·ù¸Þ½ÃÁö°¡ ±â·ÏµÇ¸ç ¸Þ¼Òµå ½ÇÇàÀ» ¸¶Ä£ ÈÄ µ¥ÀÌŸº£À̽º ÄÁ³ØÀ» ÀÚµ¿À¸·Î ´Ý¾ÆÁØ´Ù.
ex) actionÀÌ search À϶§ => processSearch() ¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.

Parameters:
servlet - ¼­ºí¸´ °´Ã¼
request - Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¿äûµÈ Request°´Ã¼
response - Ŭ¶óÀÌ¾ðÆ®·Î ÀÀ´äÇÒ Response°´Ã¼

route

protected void route(java.lang.String key)
¿äûÀ» JSPÆäÀÌÁö·Î Æ÷¿öµå(Forward) ÇÑ´Ù. ÀÛ¼ºµÈ JSPÆäÀÌÁö´Â action.properties¿¡ µî·ÏµÈ´Ù.
ex) ۰¡ search-jsp ÀÎ JSPÆäÀÌÁö·Î Æ÷¿öµù ÇÒ °æ¿ì => route("search-jsp")

Parameters:
key - action.properties ÆÄÀÏ¿¡ µî·ÏµÈ JSP ÆäÀÌÁöÀÇ Å°

route

protected void route(java.lang.String key,
                     boolean isForward)
¿äûÀ» JSPÆäÀÌÁö·Î Æ÷¿öµå(Forward) ¶Ç´Â ÀçÁöÇâ(Redirect) ÇÑ´Ù. ÀÛ¼ºµÈ JSPÆäÀÌÁö´Â action.properties¿¡ µî·ÏµÈ´Ù.
ex1) ۰¡ search-jsp ÀÎ JSPÆäÀÌÁö·Î Æ÷¿öµù ÇÒ °æ¿ì => route("search-jsp", true)
ex2) ۰¡ search-jsp ÀÎ JSPÆäÀÌÁö·Î ÀçÁöÇâ ÇÒ °æ¿ì => route("search-jsp", false)

Parameters:
key - action.properties ÆÄÀÏ¿¡ µî·ÏµÈ JSP ÆäÀÌÁöÀÇ Å°
isForward - trueÀÌ¸é Æ÷¿öµå(Forward), false À̸é ÀçÁöÇâ(Redirect)

getConnectionManager

protected ConnectionManager getConnectionManager()
µ¥ÀÌŸº£À̽º ¿¬°á°ü¸®ÀÚ(ÄÁ³Ø¼Ç ¸Å´ÏÀú) °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
config.properties¿¡ datasource°¡ µî·ÏµÇ¾î ÀÖÀ¸¸é JNDI¿¡ µî·ÏµÇ¾îÀÖ´Â µ¥ÀÌŸ¼Ò½º¿¡¼­ ÄÁ³Ø¼ÇÀ» »ý¼ºÇÑ´Ù. datasource°¡ µî·ÏµÇ¾î ÀÖÁö ¾Ê´Â °æ¿ì ¿¬°áÁ¤º¸¸¦ ¹ÙÅÁÀ¸·Î jdbc ÄÁ³Ø¼ÇÀ» »ý¼ºÇÑ´Ù. ¾÷¹«¸íÀÌ default¿¡ ÇØ´çÇÏ´Â ¼³Á¤ÆÄÀÏ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ÄÁ³Ø¼ÇÀ» »ý¼ºÇÑ´Ù. »ý¼ºµÈ ÄÁ³Ø¼ÇÀÇ autoCommit ¼Ó¼ºÀº false ·Î ¼ÂÆÃµÈ´Ù.

Returns:
¿¬°á°ü¸®ÀÚ(ÄÁ³Ø¼Ç ¸Å´ÏÀú) °´Ã¼

getConnectionManager

protected ConnectionManager getConnectionManager(java.lang.String serviceName)
µ¥ÀÌŸº£À̽º ¿¬°á°ü¸®ÀÚ(ÄÁ³Ø¼Ç ¸Å´ÏÀú) °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
config.properties¿¡ datasource°¡ µî·ÏµÇ¾î ÀÖÀ¸¸é JNDI¿¡ µî·ÏµÇ¾îÀÖ´Â µ¥ÀÌŸ¼Ò½º¿¡¼­ ÄÁ³Ø¼ÇÀ» »ý¼ºÇÑ´Ù. datasource°¡ µî·ÏµÇ¾î ÀÖÁö ¾Ê´Â °æ¿ì ¿¬°áÁ¤º¸¸¦ ¹ÙÅÁÀ¸·Î jdbc ÄÁ³Ø¼ÇÀ» »ý¼ºÇÑ´Ù. ÆÄ¶ó¹ÌÅÍ·Î ³Ñ°ÜÁø ¾÷¹«¸í¿¡ ÇØ´çÇÏ´Â ¼³Á¤ÆÄÀÏ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ÄÁ³Ø¼ÇÀ» »ý¼ºÇÑ´Ù. »ý¼ºµÈ ÄÁ³Ø¼ÇÀÇ autoCommit ¼Ó¼ºÀº false ·Î ¼ÂÆÃµÈ´Ù.

Parameters:
serviceName - ¼­ºñ½º¸í(¾÷¹«¸í)
Returns:
¿¬°á°ü¸®ÀÚ(ÄÁ³Ø¼Ç ¸Å´ÏÀú) °´Ã¼

getConfig

protected Configuration getConfig()
¼³Á¤Á¤º¸¸¦ °¡Áö°í ÀÖ´Â °´Ã¼¸¦ »ý¼ºÇÏ¿© ¸®ÅÏÇÑ´Ù.

Returns:
config.propertiesÀÇ ¼³Á¤Á¤º¸¸¦ °¡Áö°í ÀÖ´Â °´Ã¼

getServlet

protected javax.servlet.http.HttpServlet getServlet()
Action°´Ã¼¸¦ È£ÃâÇÑ ¼­ºí¸´ °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.

Returns:
Action°´Ã¼¸¦ È£ÃâÇÑ ¼­ºí¸´ °´Ã¼

getRequest

protected javax.servlet.http.HttpServletRequest getRequest()
HTTP Ŭ¶óÀÌ¾ðÆ® ¿äû °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.

Returns:
HTTP Ŭ¶óÀÌ¾ðÆ® ¿äû°´Ã¼

getResponse

protected javax.servlet.http.HttpServletResponse getResponse()
HTTP Ŭ¶óÀÌ¾ðÆ® ÀÀ´ä °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.

Returns:
HTTP Ŭ¶óÀÌ¾ðÆ® ÀÀ´ä°´Ã¼

getSession

protected javax.servlet.http.HttpSession getSession()
Ŭ¶óÀ̾ðÆ®ÀÇ ¼¼¼Ç °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù. ÀÌ¹Ì ¼¼¼ÇÀÌ »ý¼ºµÇ¾î Àִ°æ¿ì´Â ±âÁ¸ ¼¼¼ÇÀ» ¸®ÅÏÇÏ¸ç ¼¼¼ÇÀÌ ¾ø´Â°æ¿ì´Â »õ·Î »ý¼ºÇÏ¿© ¸®ÅÏÇÑ´Ù.

Returns:
Ŭ¶óÀ̾ðÆ®ÀÇ ¼¼¼Ç °´Ã¼

getSession

protected javax.servlet.http.HttpSession getSession(boolean create)
Ŭ¶óÀ̾ðÆ®ÀÇ ¼¼¼Ç °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù. ¼¼¼ÇÀÌ ¾ø´Â°æ¿ì´Â ÆÄ¶ó¹ÌÅÍ °ªÀÌ trueÀÌ¸é ¼¼¼ÇÀ» »õ·Î »ý¼ºÇϸç false ÀÌ¸é »ý¼ºÇÏÁö ¾Ê´Â´Ù.

Parameters:
create - ¼¼¼ÇÀÌ ¾øÀ»°æ¿ì trueÀÌ¸é »õ·Î »ý¼º, falseÀÌ¸é »ý¼ºÇÏÁö ¾ÊÀ½
Returns:
Ŭ¶óÀ̾ðÆ®ÀÇ ¼¼¼Ç °´Ã¼

getSessionAttribute

protected java.lang.Object getSessionAttribute(java.lang.String key)
¼¼¼Ç°´Ã¼¿¡¼­ ÇØ´ç Ű¿¡ ÇØ´çÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÑ´Ù.
ex) ¼¼¼Ç¿¡¼­ result¶ó´Â Ű·Î ¿ÀºêÁ§Æ®¸¦ ¸®ÅϹ޴ °æ¿ì => Object obj = getSessionAttribute("result")

Parameters:
key - ¼¼¼Ç°´Ã¼ÀÇ Á¶È¸Å°
Returns:
¼¼¼Ç°´Ã¼¿¡¼­ ¾ò¾î¿Â ¿ÀºêÁ§Æ®

getInput

protected Box getInput()
¿äûÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ´ã°í ÀÖ´Â ÇØ½ÃÅ×À̺íÀ» ¸®ÅÏÇÑ´Ù.
ex1) [ name=È«±æµ¿ ]ÀÎ ¿äûÆÄ¶ó¹ÌÅ͸¦ ¹Þ¾Æ¿À´Â °æ¿ì => String name = getInput().getString("name")
ex2) [ age=20 ]ÀÎ ¿äûÆÄ¶ó¹ÌÅ͸¦ ¹Þ¾Æ¿À´Â °æ¿ì => Integer age = getInput().getInteger("age")

Returns:
¿äûÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ´ã´Â ÇØ½ÃÅ×À̺í

getMultipartInput

protected MultipartBox getMultipartInput()
Multipart ¿äûÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ´ã°í ÀÖ´Â ÇØ½ÃÅ×À̺íÀ» ¸®ÅÏÇÑ´Ù.
ex1) [ name=È«±æµ¿ ]ÀÎ ¿äûÆÄ¶ó¹ÌÅ͸¦ ¹Þ¾Æ¿À´Â °æ¿ì => String name = getMultipartInput().getString("name")
ex2) [ age=20 ]ÀÎ ¿äûÆÄ¶ó¹ÌÅ͸¦ ¹Þ¾Æ¿À´Â °æ¿ì => Integer age = getMultipartInput().getInteger("age")
ex3) Àü¼ÛµÈ ÆÄÀϸ¦ ¹Þ¾Æ¿À´Â °æ¿ì => List files = getMultipartInput().getFileItems()

Returns:
¿äûÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ´ã´Â ÇØ½ÃÅ×À̺í

getOut

protected java.io.PrintWriter getOut()
ÀÀ´ä°´Ã¼ÀÇ PrintWriter °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.
ex) ÀÀ´ä¿¡ Hello World ¸¦ ¾²´Â °æ¿ì => getOut().println("Hello World!")

Returns:
ÀÀ´ä°´Ã¼ÀÇ PrintWriter °´Ã¼

getLogger

protected org.apache.commons.logging.Log getLogger()
ActionÀÇ ·Î°Å°´Ã¼¸¦ ¸®ÅÏÇÑ´Ù. ¸ðµç ·Î±×´Â ÇØ´ç ·Î°Å¸¦ ÀÌ¿ëÇØ¼­ Ãâ·ÂÇÏ¿©¾ß ÇÑ´Ù.
ex1) ¿¡·¯ Á¤º¸¸¦ Ãâ·ÂÇÒ °æ¿ì => getLogger().error("...¿¡·¯¸Þ½ÃÁö³»¿ë")
ex2) µð¹ö±× Á¤º¸¸¦ Ãâ·ÂÇÒ °æ¿ì => getLogger().debug("...µð¹ö±×¸Þ½ÃÁö³»¿ë")

Returns:
ActionÀÇ ·Î°Å°´Ã¼

setContentType

protected void setContentType(java.lang.String contentType)
ÀÀ´ä°´Ã¼¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü¼ÛÇϱâ Àü¿¡ ÄÁÅÙÃ÷ŸÀÔÀ» ¼³Á¤ÇÑ´Ù.
ex1) xmlÆÄÀÏÀ» Àü¼Û ÇÏ´Â °æ¿ì => setContentType("text/xml; charset=utf-8")
ex2) ÅØ½ºÆ® ÆÄÀÏÀ» Àü¼ÛÇÏ´Â °æ¿ì => setContentType("text/plain; charset=euc-kr")

Parameters:
contentType - ÀÀ´ä°´Ã¼¿¡ ¼³Á¤ÇÒ ÄÁÅÙÃ÷ ŸÀÔ

setAttribute

protected void setAttribute(java.lang.String key,
                            java.lang.Object value)
¿äû°´Ã¼¿¡ Ű,°ª ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù. Action¿¡¼­ ó¸®ÇÑ °á°ú¸¦ ºä ·Î ³Ñ±æ¶§ ¿äû°´Ã¼¿¡ ¼Ó¼ºÀ» ¼³Á¤ÇÏ¿© ¶ó¿ìÆÃÇÑ´Ù.
ex) rs¶ó´Â RecordSet °´Ã¼¸¦ result ¶ó´Â Ű·Î ¿äû°´Ã¼¿¡ ¼³Á¤ÇÏ´Â °æ¿ì => setAttribute("result", re)

Parameters:
key - ¼Ó¼ºÀÇ Å° ¹®ÀÚ¿­
value - ¼Ó¼ºÀÇ °ª °´Ã¼

setSessionAttribute

protected void setSessionAttribute(java.lang.String key,
                                   java.lang.Object value)
¼¼¼Ç°´Ã¼¿¡ Ű,°ª ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù. Action¿¡¼­ ó¸®ÇÑ °á°ú¸¦ ¼¼¼Ç¿¡ ÀúÀåÇÑ´Ù.
ex) userinfo ¶ó´Â »ç¿ëÀÚÁ¤º¸°´Ã¼¸¦ userinfo ¶ó´Â Ű·Î ¼¼¼Ç°´Ã¼¿¡ ¼³Á¤ÇÏ´Â °æ¿ì => setSessionAttribute("userinfo", userinfo)

Parameters:
key - ¼Ó¼ºÀÇ Å° ¹®ÀÚ¿­
value - ¼Ó¼ºÀÇ °ª °´Ã¼