하지만 servlet기반이 아닌 struts 2는 ActionContext 라는 class를 사용해서 session을 생성하고 사용한다..
1)ActionContext를 사용하여 session을 생성한 Action class 예제
---------------------------------------------------------------------------------------------------------
package com.myhome.login.actions;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class LoginMultiAction extends ActionSupport{
private String id;
private String passwd;
/**
* index 부분
*
*/
public String index() throws Exception{
//session 값을 얻어 와서 id가 있으면 결과 페이지로 없으면 로그인 페이지로 이동
if(ActionContext.getContext().getSession().get("id") == null) //session에 id라는 이름의 value가 없으면
return LOGIN;
return SUCCESS;
}
/**
* login 부분
*
*/
@SuppressWarnings("unchecked")
public String login() throws Exception{
//session 생성을 위해서 ActionContext 사용
ActionContext context = ActionContext.getContext(); //getContext() 메소드를 통해 ActionContext instance를 생성할 수 있다.
//struts2에서 session type이 map형식이기 때문에 getSession을 통해 리턴 받는다.
Map<String, String> session = context.getSession();
//아래와 같이 HashMap을 통해서 session을 생성해도 된다.
//Map<String, String> session = new HashMap<String, String>();
session.put("id", id);
session.put("passwd",passwd);
context.setSession(session);
return SUCCESS;
}
/**
* logout 부분
*/
@SuppressWarnings("unchecked")
public String logout() throws Exception{
ActionContext context = ActionContext.getContext();
Map<String, String> session = (Map<String, String>)context.getSession();
if(session.get("id") != null){
session.remove("id");
session.remove("passwd");
}
context.setSession(session);
return SUCCESS;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
---------------------------------------------------------------------------------------------------------
'Struts > Struts2' 카테고리의 다른 글
struts 2 - properties 파일 (0) | 2012.05.08 |
---|---|
struts 2 - upload & download (0) | 2012.05.08 |
struts 2 - action을 선언한 xml에서 result property 들 (0) | 2012.05.08 |
struts 2 - validator (0) | 2012.05.08 |
struts 2 - annotation설정 (0) | 2012.05.08 |
최근댓글