본문 바로가기

Programming/Web _ jsp

[Struts] 스트럿츠의 기본형태

안녕하세요. 명월입니다.


이번 포스트는 Struts의 기본 형태입니다. 최근에는 Struts를 거의 사용하지 않는다고 하는데 지금은 공부하는 처지니 공부를 하고 지나가겠습니다.


Struts는 구조가 크게 ActionForm, Action ,Jsp 웹 페이지로 나누어져 있습니다. ActionForm은 웹에서 넘어온 데이터를 저장하는 폼이고, Action은 데이터를 처리하는 클래스, 마지막으로 View페이지를 만들어질 때는 Jsp를 읽어 들여 작성되겠습니다.



위 이미지는 Struts의 흐름을 설명하고 있습니다. 소스예제를 통하여 자세히 공부하겠습니다.



위 이미지는 index.jsp의 소스입니다. 위 소스는 텍스트 박스와 Submit 버튼을 작성했습니다.
그리고 Submit 버튼을 누르면 form Action을 통해 /test로 Post request가 발생하겠습니다.



위 이미지는 web.xml의 설정 부분입니다. index.jsp에서 /test의 Post request action이 오면 test.do의 형태로 데이터 전송이 발생하겠습니다.



위 이미지는 struts-config.xml의 정의 부분입니다.
밑에 action의 컬럼을 보면 /test 액션이 정의되어있습니다. type은 struts.MyAction01이고 name은 form으로 위에 form-bean의 struts.MyActionForm01과 매핑 되겠습니다.
그리고 forward는 OK 값이 오면 /pages/ok.jsp 의 페이지가 호출되겠습니다.



액션 폼의 내용입니다. 맴버 객체는 data를 가지고 있고 입력 프로퍼티는 setData와 getData입니다.
여기서 주의할 점은 프로퍼티의 명명법입니다. 맴버객체 명은 무엇을 넣어도 상관은 없으나 입력 프로퍼티는 정해져 있습니다. 위 index.jsp에서 html:text의 프로퍼티 이름이 data라고 정의가 되어있는데 이때 data의 맨 앞글자가 대문자로 바뀌고 set이 붙는 형태로 데이터가 저장됩니다. 즉, data -> setData 이런 형태이지요. 그럼 위 텍스트 박스의 값이 자동으로 맴버변수 data에 입력되겠습니다.



이번에는 액션 클래스입니다. 폼에 데이터가 저장이 되면, execute라는 함수를 호출하게 됩니다.
위 이미지에서는 test 폼의 값을 (Hello World)라는 값 뒤에 붙여서 다시 저장하는 형태이네요. 그리고 반환 값을 OK라는 forward 값으로 내보냅니다.


여기서는 struts-config.xml의 부분에 OK 값을 받을 경우, ok.jsp로 내보내게 되어 있습니다.



위 이미지를 보면 프로퍼티가 data인 값을 가져오네요. 즉, getData를 읽는 부분이 됩니다..


결과를 확인하겠습니다.





728x90