JAVA

[FLEX] HTTP Session 에 관련된 방법

단순대왕 2008. 8. 25. 15:33

//--------------------------------------------------------
MXML 파일

<mx:HTTPService id="SessionCheckServlet" useProxy="false" result="sessionResult()"/>  


//---------------------------------------------------------
AS 파일 - 이벤트 등록 및 환경설정

private var local:String = "http://127.0.0.1:80/JAVAProject/";
private function sessionResult():void{
    var flag:int = SessionCheckServlet.lastResult.RESULT.FLAG;
    if(flag == 1){
    }
    else if(flag == 0){
        navigateToURL(new URLRequest('http://'+sURL+'/jsp/logout.jsp'), '_self');
    }
}

//이벤트 등록
private function initEventListener():void{
    SessionCheckServlet.url = local+"servlet/SessionCheckServlet";

}

//--------------------------------------------------------
AS 파일 - 실제 Event 함수

private function setTempData():void{
    SessionCheckServlet.send();
   
    FLEX 이벤트 내용
}

//--------------------------------------------------------
JAVA Servlet 파일

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SessionCheckServlet extends HttpServlet {
 public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
  HttpSession session = request.getSession(false);
  long createTime = 0L;
  long lastTime = 0L;
 
  if(session != null){
   createTime = session.getCreationTime();
   lastTime = session.getLastAccessedTime();
  }
 
  System.out.println("----------> " + createTime + " : " + lastTime);
 
  response.setContentType("text/xml; charset=utf-8");
  PrintWriter out = response.getWriter();
  out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
  out.println("<RESULT>");
 
  if(session == null){
   System.out.println("invalidate Session");
   out.println("<FLAG>" + 0 + "</FLAG>");
  }
  else if(session != null){
   System.out.println("Session OK");
   out.println("<FLAG>" + 1 + "</FLAG>");  
  }     
  out.println("</RESULT>");
 }
}