donaricano-btn

스트러츠를 이용한 간편 로그인 - Simple Login Example

- ActionSupport 와 SessionAware를 이용한다


1. struts.xml



2. LoginAction.java

 

- setSession을 구현해야 한다

- session.put("id", user_id); 을 이용하여 session에 등록한다

- execute() 안에 validation 체크에 관한 함수를 작성 해도된다.


3. LogoutAction.java

 

- session.remove("id") 를 통해 세션을 해제한다


4. main.jsp

 

블로그 이미지

리딩리드

,
donaricano-btn

Chain 사용하기

- 스트럿츠2 에서 chain은 action과 action사이의 값을 전달할 때 주로 사용된다

- 예로 회원가입 페이지에서 바로 로그인 해주는 페이지의 사용자 ID 값


1. 기본 사용


- login은 다음 액션(url)을 뜻한다

- type = "chain"


2. 예제

- 회원가입 페이지 --> 로그인 페이지

1) struts.xml

 

2) SignupAction.java, loginAction.java

 

- SignUpAction에서 사용했던 멤버 변수를 LoginAction에서 그대로 사용이 가능하다

- 그러나 변수 이름은 같아야 한다


3. 주의

- Chain을 사용할 때 페이지의 reload(새로고침)을 주의 해야한다

- 인서트하는 페이지의 chain을 한다면 리로드 할 경우 반복적으로 데이터가 들어갈 수 있다

블로그 이미지

리딩리드

,
donaricano-btn

 Interceptor(3) - 인터셉터 등록과 설정

- 작성한 인터셉터는 struts.xml에 등록해야 한다



1. 인터셉더 등록

- name 속성으로 임의의 이름을 지정

- class 속성으로 인터셉터를 완전 수식 클래스 이름을 지정


2. 액션 적용

- interceptor-ref 태그로 등록한 fooInterceptor를 지정

- 인터셉터를 지정하면 지정한 인터셉터만 액션에 지정된다

1) defautStack

- 스트럿츠2는 기본적으로 다양한 이터셉터를 적용

- 동작을 바꾸고 싶지 않다면 기본 인터셉터(defaultStack)을 명시적으로 지정


3. 인터셉터 스택의 정의

- 임의의 인터셉터를 조합해서 인터셉터 스택 정의

 

1) 인터셉터 스택 정의

- fooStack으로 인터셉터 스택 정의

- 패키지안의 모든 액션에 적용할 떄는 기본 인터셉터 스택으로 하는게 효율적

2) fooStack을 기본 인터셉터 스택으로 설정

- 스트럿츠 패키지안의 모든 액션에 암묵적으로 fooStack이 적용


블로그 이미지

리딩리드

,
donaricano-btn

Interceptor(2) - 인터셉터 작성

- 인터셉터 인터페이스 구현해야함

- 인터페이스는 intercept(), init(), destroy() 정의함

1. 예제


- ActionInvocation은 스트럿츠2가 제공하는 인터페이스다

1) invocation.invoke()

- 호출시 다음 인터셉터 처리가 호출되고 마지막으로 액션 메소드 호출

- 액션 메소드 앞에 처리한다면 invoke앞에, 액션 메소드 다음에 호출 하려면 후에 기술

2) result

- 반환값인 String Result이름을 반환

- 임의의 Result이름을 반환 해도된다

- 액션의 동작을 바꾸고 싶지 않다면 액션 메소드가 돌려주는 이름 그대로 반환

3) init, destroy

- 인터셉터가 각각 생성, 소멸 될 떄 호출

- 초기화 처리나 종료 기술

'Back-End > Struts2' 카테고리의 다른 글

[Struts2] Action Chaining - Chain 사용하기  (0) 2016.11.10
[Struts2] Interceptor(3) - 인터셉터 등록과 설정  (0) 2016.10.04
[Struts2] Interceptor(1) (인터셉터)  (0) 2016.10.03
[Struts2] OGNL  (0) 2016.10.03
[Struts2] Context Map  (0) 2016.10.03
블로그 이미지

리딩리드

,