본문 바로가기
IT/JAVA

자바 Session 세션

by 지니라 2017. 3. 30.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

JAVA Session


METHOD : getAttribute (java.lang.String name)
RETURN : java.lang.Object
NOTE : 세션에 바인딩된 객체 중 name에 해당되는 객체 값을 가져온다. 없을 경우에는 null을 반환한다. 반환값은 Object형이므로 반드시 형 변환을 하여 사용해야 한다.


METHOD : getAttributeNames()
RETURN : java.util.Enumeration
NOTE : 세션에 바인딩된 모든 객체들의 이름을 Enumeration형으로 되돌려 준다. 서블릿 2.1과 이전 API들의 getValueNames 메소드 대신 이것을 사용한다.

- hasMoreElements : Enumeraion 객체에 뽑아올 데이터가 있는지를 검사하여 있다면 true를, 더이상 데이터가 존재하지 않는다면 false를 리턴한다.
- nextElement : 다음 아이템이 존재한다는 전제하에서 아이템을 하나씩 뽑아오는 역할을 한다. nextElement 메소드도 getAttribute 메소드처럼 Object형으로 값을 반환하므로 이를 형 변환 해야 한다.
- JSP 구현시 java.util.Enumeration의 IMPORT가 필요하다.


METHOD : getCreationTime()
RETURN : long
NOTE : 세션이 만들어진 시간을 반환한다. 반환값은 long형이며, 이 값은 GMT 시간으로 1970.01.01 자정을 기준으로 한 밀리초 단위의 값을 되돌려 준다.


METHOD : getId()
RETURN : java.lang.String
NOTE : 해당 세션을 가리키는 고유 id값을 String 형으로 변환한다.


METHOD : getLastAccessedTime()
RETURN : long
NOTE : 해당 세션이 클라이언트가 마지막으로 request를 보낸 시간을 long형으로 반환한다. 반환값은 long형이므로 이 값은 GMT 시간으로 1970.01.01 자정을 기준으로 한 밀리초 단위의 값을 되돌려 준다.


METHOD : getMaxInactiveInterval()
RETURN : int
NOTE : 사용자가 다음 요청을 보낼 때까지 세션을 유지하는 최대 시간(초 단위)을 되돌려 준다.


METHOD : isNew()
RETURN : boolean
NOTE : 해당 세션이 처음 생성되었으면 true값을 반환하고, 이전에 생성이 된 세션이라면 false를 반환한다.


METHOD : removeAttribute(java.lang.String name)
RETURN : void
NOTE : 지정된 이름에 해당하는 객체를 이 세션에서 제거한다. 서블릿 2.1과 이전 API들의 removeValue 메소드 대신이것을 사용한다.


METHOD : setAttribute(java.lang.String name, java.lang.Object value)
RETURN : void
NOTE : 지정된 이름을 사용하여 이 세션에 객체를 바인딩 시킨다. 이전의 putValue 메소드 대신 이것을 사용해야 한다.


METHOD : setMaxInactiveInterval(interval)
RETURN : void
NOTE : 사용자가 다음 요청을 보낼 때까지 세션 유지하는 최대 시간(초 단위)을 설정한다. 이 시간을 넘기면 서블릿 엔진은 세션을 종료한다.


METHOD : Invalidate()
RETURN : void
NOTE : 해당 세션을 없애고 세션에 속해있는 값들을 삭제한다.


[exam]
@Controller
public class TestController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(HttpServletRequest request, HttpSession session) {
session.invalidate(); // Invalidates session
HttpSession newSession = request.getSession(); // Create session

return "successPage";
}
}


@Controller
public class TestController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String testMestod(HttpServletRequest request) {
HttpSession session = request.getSession();

if (session.getAttribute("id") == null) {
ServletOutputStream outs = arg1.getOutputStream();
outs.println("<script type='text/javascript'>");
outs.println("alert(\"" + new String("로그인 하세요.".getBytes(), "ISO_8859_1") + "\");");
outs.println("history.go(-1);");
outs.println("</script>");
outs.flush();
}
}
}


REF : http://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpSession.html

출처 : http://m.blog.naver.com/rex4314/206958334#

'IT > JAVA' 카테고리의 다른 글

자바 DateUtils.java  (0) 2017.03.30
자바 stringBuffer va stringBuilder vs string  (0) 2017.03.30
자바 stringBuffer va stringBuilder vs string  (0) 2017.03.30
자바 arrayList  (0) 2017.03.30
자바 stringUtils.java  (0) 2017.03.30