:: ActionServlet
스트럿츠에서 클라이언트의 요청을 처리하는 초기 진입을 담당하는 객체이다.
javax.servlet.http.HttpServlet로 부터 상속을 받았으며 이는 HTTP요청을
스트럿츠의 특정 Action요소(적절한 핸들러)에게 보내는 역활을 수행 한다.
스트럿츠1.1 이전 버전에서는 ActionServlet이 요청을 받아 핸들러(Action)를
호출하는 유일한 클래스 였지만 1.1버전 이후 부터는
org.apache.struts.action.RequestProccess라는 클래스가 추가되어
클라이언트의 요청을 처리 할 수 있도록 보강 되었다.
ActionServlet은 클라이언트의 요청을 받게 되면
URI(요청 경로)를 사용하여 어떤 Action이 주어진 요청을
처리할 것인지를 결정 하는데 이때 struts-config.xml에 설정된 Action엘리먼트의
정의된 속성들을 확인한다. ( URI == Action의 path )
그렇다면 아래의 struts-config.xml파일의 내용을 잠시 참조해 보자!
<action
path="/send"
type="test1.FormAction"
name="a1"
validate="true"
input="/inData.jsp" />
ActionServlet은 주어진 입력 값(parameter)들을 한꺼번에 자바 빈즈로
묶어 처리 할 수 있다. 이것은 빈즈 개념과 같은 것이며 스트럿츠에서는
ActionForm클래스의 서브 클래스로 구성된다.
이를 다른 말로 폼빈(FormBean)이라고도 하며 struts-config.xml 파일에서
<form-beans>이라는 엘리먼트에서 <form-bean>이라는 하위 엘리먼트로
설정하게 된다.
<form-beans>
<form-bean name="a1" type="st2.FormData">
<form-property name="name" type="java.lang.String"/>
<form-property name="id" type="java.lang.String"/>
<form-property name="pwd" type="java.lang.String"/>
</form-bean>
</form-beans>
******* 주의) 처리하고자 하는 핸들러(Action)의 이름과
폼빈(form-bean)의 이름이 일치해야 한다. ************