'Framework/Struts2'에 해당되는 글 3건

  1. 2012.09.15 Struts2 동작원리
  2. 2011.11.03 Struts2 validation 예제
  3. 2011.11.03 Struts2 Validation
Framework/Struts22012. 9. 15. 12:25



이미지 출처 [http://agapeuni.tistory.com/313]


Structs 동작원리



1. Client로부터 request가 들어오면 struts의 생명주기가 시작된다. (즉 Struts가 시작된다.)

Servlet Container는 이 request를 표준 filter chain으로 전달합니다.


2  FilterDispatcher라는 Filter가 호출됩니다. 이 Filter는 ActionMapper를 참조해서 

Action을 호출할지 안할지 결정합니다.


3 만약 ActionMapper가 호출해야할 Action을 찾으면 FilterDispatcher는 ActionProxy에게

통제권을 넘겨줍니다.


4 ActionProxy는 'Struts.xml'과 같은 설정 ( Configuration ) file을 읽어서 ActionInvocation class를 생성한 후

통제권을 넘겨줍니다.


5 ActionInvocation은 필요할 경우 Interceptor 를 하나씩 호출한 후, 처음에 호출하기로 

결정한 Action을 호출합니다.

(Interceptor는 Logging, Validateion, File Upload, Double-submit guard 등 struts2 에서 제공하는 특정 역할을 수행합니다.)


6 이 Action의 결과값이 반환되면 ActionInvocation은 struts.xml에 정의된 결과 Page를 찾는다.

(Page는 결국 response가 된다.)


7 Action 호출전에 호출되었던 Interceptor를 역순으로 다시 하나씩 호출한후, response를

Filter(대부분 FilterDispatcher) 넘겨준다.

이후 결과가 servlet Container에 넘겨지고 결국 Client에게 보여진다.

'Framework > Struts2' 카테고리의 다른 글

Struts2 validation 예제  (0) 2011.11.03
Struts2 Validation  (0) 2011.11.03
Posted by NeverTry
Framework/Struts22011. 11. 3. 09:35
준비물  :   eclipse EE 버젼  , Tomcat(7.0버젼으로 했습니다.) , struts jar파일


이클립스를 실행하고 File -> Dynamic Web Project 를 실행시킨후 다음과 같이 칩니다.

 
이후  Next -> 하시고 Web.xml을 만들어 줍니다.


이렇게 하신후 Finish를 눌러주시고

Struts jar파일을 WebContent -> WEB-INF -> lib 폴더에 넣어줍니다.



 Web.XML에 대한 설명 및 수정합니다.


유효성을 검사할 jsp파일을 하나 만든다.
WebContenxt에서 마우스 오른쪽 버튼을 누른후 New -> jsp File 을 해서 이름은 저렇게 하고 Finish를 누른다.





Validationtest.jsp에 대한 내용은 다음과 같다.


struts태그를 사용했으므로 선언을 해주고 

struts태그의 내용입니다.

<%@ taglib prefix="s" uri="/struts-tags" %>    =  >  선언

<s:form action="test">
<s:textfield label="이름" name="name" />
<s:textfield label="나이" name="age" />
<s:textfield label="좋아하는 색" name="answer" />
<s:submit />
</s:form>



Form Action을 test로 보냈으니까 struts.xml을 수정합니다.

struts.xml파일은 만들지 않았기 때문에 만듭니다.

src에서 마우스오른쪽 버튼을 누른후 new -> other을 누리고 xml file에서 struts.xml을 만든다.



struts.xml 파일을 수정한다.


Test package밑에 Test Class를 만들고

결과값은 validationtest.jsp를 참조한다.

Test.java Class의 내용은 이렇게 만든다.





넘어가는 값 = >  name,  age,   answer    


public String execute() {

return SUCCESS;



SUCCESS => ACTIONSupport 를 상속받아야 오류가 나지 않는다. 

 
Test-validation.xml 을 참조하게 한다.

파일 이름은 현재 클래스 이름에 -validation.xml 식으로 해야만 참조가 가능합니다.

requiredstring은 문자형
int형은 숫자형
param name의 trim은 공백을 제거한다.
message는 설정한 값이 나오지 않다면 error message를 띄운다. 
 

'Framework > Struts2' 카테고리의 다른 글

Struts2 동작원리  (0) 2012.09.15
Struts2 Validation  (0) 2011.11.03
Posted by NeverTry
Framework/Struts22011. 11. 3. 08:37
유효성 검사 코드입니다.
한번 따라 하다보면 뭘 의미 하는지 아실꺼라고 생각합니다.

일단 완성본입니다,
질문을 던지고 textfield에 값을 넣게 한후에 체크를 합니다.

이런식으로 던져졌을때 


아무것도 입력하지 않으면


이런식으로 나오게 됩니다.

미리 선언을 하였습니다.

이름에는 문자형을 
나이에는 13 ~ 19 숫자만 들어갈수 있도록
좋아하는 색에는 그냥 문자형만 

문자형만 입력했을 경우에는


이런식으로 에러가 나오지 않고
숫자형식에서 13~19 의 숫자가 입력되지 않기 때문에 메세지를 보여주게 됩니다.

완전하게 입력됬을 경우에는 아무런 메세지가 나오지 않게 됩니다.



다음 장부터 시작하겠습니다.

'Framework > Struts2' 카테고리의 다른 글

Struts2 동작원리  (0) 2012.09.15
Struts2 validation 예제  (0) 2011.11.03
Posted by NeverTry