[FLEX] HTTP Session 에 관련된 방법
//--------------------------------------------------------
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>");
}
}