¼Ò¼³°°ÀºJSP2ºÎ  6Àå Äí±â & ¼¼¼Ç  12 Sesison°ª ¾ò¾î³»±â  

 

6.12 Session °ª ¾ò¾î ³»±â

 

Ŭ¶óÀÌ¾ðÆ®´Â ¼­¹ö¿¡ ¿äûÀ» ÇÒ ¶§¸¶´Ù Àڽſ¡°Ô ÁÖ¾îÁø ¼¼¼Ç ID¸¦ ÄíŰ³ª URLÀ» ÅëÇØ¼­ Á¦°øÇÕ´Ï´Ù. ¼­¹ö¿¡¼­´Â ±× ¼¼¼Ç ID¿¡ ÇØ´çÇÏ´Â ¼¼¼Ç °´Ã¼¸¦ ã¾Æ¼­ °Å±â¿¡ ´ã±ä Á¤º¸¸¦ °¡Á®¿É´Ï´Ù. Á¤º¸¸¦ ÀúÀåÇÒ ¶§ »ç¿ëÇÏ´Â °ÍÀÌ setAttribute ¸Þ¼­µåÀÔ´Ï´Ù. setAttribute ¸Þ¼­µå´Â À̸§°ú °ªÀ» ½ÖÀ¸·Î ¹Þ¾Æ¼­ ¼¼¼Ç °´Ã¼¿¡ ÀúÀåÀ» ÇÏ´Â ¿ªÇÒÀ» ¼öÇàÇÕ´Ï´Ù. ¼¼¼Ç °´Ã¼¿¡ ÀúÀåµÈ Á¤º¸¸¦ °¡Á®¿Ã ¶§¿¡´Â getAttribute ¸Þ¼­µå¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.

 

À̹ø Àý¿¡¼­´Â getAttribute ¸Þ¼­µå¿Í ±×¿ÜÀÇ °´Ã¼ÀÇ Á¤º¸¸¦ °¡Á®¿À´Â ¹æ¹ýÀ» ¿¹Á¦¸¦ ÅëÇÏ¿© È®ÀÎÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

sessionRead.jsp

¼¼¼Ç¿¡ ÀúÀåÇÑ Á¤º¸¸¦ ºÒ·¯¿À´Â ¿¹Á¦

<%@page contentType="text/html;charset=euc-kr" session="false"%>
<html><body>
<% 
HttpSession session = request.getSession(
false);
String s = (String)session.getAttribute(
"id");
if(s==null){
  out.print(
"¼³Á¤µÈ ¼¼¼ÇÀÌ ¾ø½À´Ï´Ù.<br>");
}
else{
out.print(
"Attribute id °ª : "+s+"<br>");
}
%>
isNew():<%=session.isNew()%><br>
¼¼¼ÇID:<%=session.getId() %><br>
¼¼¼Ç»ý¼º½Ã°£:<%=
new java.util.Date(session.getCreationTime()).toString() %><br>
¼¼¼Ç¸¶Áö¸·Á¢¼Ó½Ã°£:<%=
new java.util.Date(session.getLastAccessedTime()).toString() %>
¼¼¼ÇActive½Ã°£:<%=session.getMaxInactiveInterval() %>sec<br>
<a href=
"SessionDelete.jsp">session »èÁ¦Çϱâ</a>
</body></html>

 

°á°ú¸¦ º¸½Ã¸é ¼¼¼Ç¿¡ ´ëÇÑ ¿©·¯ Á¤º¸°¡ Ãâ·ÂµÇ¾úÀ½À» ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¼Ò½º¸¦ º¸½Ã¸é, ¸ÕÀú ¼­¹ö·ÎºÎÅÍ ¼¼¼Ç°´Ã¼¸¦ ¾ò¾î¿À°í ÀÖ½À´Ï´Ù. getSession ¸Þ¼­µå¸¦ È£ÃâÇÏ¸é ¼­¹ö¿¡¼­´Â ÄíŰ³ª URL·ÎºÎÅÍ ¼¼¼Ç ID¸¦ »Ì¾Æ³»¾î¼­ ¼­¹ö¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¼¼¼Ç ID ¸ñ·Ï°ú ºñ±³¸¦ ÇϰԵǴµ¥ ±× °á°ú ÀÏÄ¡ÇÏ´Â ¼¼¼Ç ID°¡ ÀÖ´Ù¸é ±× ¼¼¼Ç IDÀÇ ¼¼¼Ç °´Ã¼¸¦ Àü´ÞÇÏ°í ¾ø´Ù¸é null °ªÀ» Àü´ÞÇØÁÝ´Ï´Ù.

 

n        HttpSession session=request.getSession(false);

 

¼¼¼Ç °´Ã¼·ÎºÎÅÍ Á¤º¸¸¦ °¡Á®¿À°í ÀÖ½À´Ï´Ù. getAttribute ¸Þ¼­µå´Â °´Ã¼¿¡ ÀúÀåÇÏ¿´´ø Á¤º¸¸¦ °¡Á®¿Ã ¶§ »ç¿ëÇÏ´Â ¸Þ¼­µå·Î¼­ ¸Å°³º¯¼ö·Î °¡Á®¿À°íÀÚÇÏ´Â ¼Ó¼ºÀÇ À̸§À» ´ëÀÔÇÏ¸é ±× ¼Ó¼º¿¡ ÇØ´çÇÏ´Â °ªÀ» ¹ÝÈ¯ÇØÁÝ´Ï´Ù. ÀúÀåÇÒ ¶§ ObjectÇüÀ¸·Î ¾÷ij½ºÆÃÀ» ÇÏ¿´À¸¹Ç·Î °¡Á®¿Ã ¶§¿¡´Â ¿ø·¡ÀÇ ÇüÀ¸·Î ´Ù¿îij½ºÆÃÀ» ÇØÁÖ¾î¾ß¸¸ ÇÑ´Ù´Â Á¡À» ÀØÀ¸½Ã¸é ¾ÈµË´Ï´Ù.

 

n        String s=(String)session.getAttribute("id");

 

if¹®À» »ç¿ëÇÏ¿© ¼¼¼Ç °´Ã¼·ÎºÎÅÍ ºÒ·¯¿Â °ªÀÌ nullÀÌ ¾Æ´Ï¶ó¸é À¥ ºê¶ó¿ìÁ®¿¡ Ãâ·ÂÇØÁÖ°í ÀÖ½À´Ï´Ù.

 

n        if(s==null){

n          out.print("¼³Á¤µÈ ¼¼¼ÇÀÌ ¾ø½À´Ï´Ù.<br>");

n        }else{

n          out.print("Attribute id °ª : "+s+"<br>");

n        }

 

¼¼¼Ç °´Ã¼·ÎºÎÅÍ ¼¼¼Ç¿¡ °üÇÑ ´Ù¾çÇÑ Á¤º¸¸¦ ¾ò¾î³»°í ÀÖ½À´Ï´Ù. °¢°¢¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù. setMaxInactiveInterval ¸Þ¼­µå´Â ¼¼¼ÇÀ» À¯ÁöÇÒ ½Ã°£À» ¼³Á¤ÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ÀÌ ½Ã°£ÀÌ Áö³ª¸é ¼¼¼ÇÀº ÀÚµ¿À¸·Î Á¾·áµË´Ï´Ù. ´ÜÀ§´Â secondÀÔ´Ï´Ù.

 

n        <% session.setMaxInactiveInterval(1*60); %>

 

isNew ¸Þ¼­µå´Â ¼¼¼ÇÀÌ Ã³À½ »ý¼ºµÇ¾úÀ» °æ¿ì¿£ true¸¦, ÀÌ¹Ì »ý¼ºµÇ¾î ÀÖ¾úÀ» °æ¿ì¿£ false¸¦ ¹ÝȯÇÕ´Ï´Ù. ÃÖÃÊÀÇ ¿äû½Ã¿¡´Â true¸¦ ¹ÝȯÇÏÁö¸¸ ¼¼¼Ç À¯Áö ½Ã°£ ³»¿¡ Àç¿äû½Ã false¸¦ ¹ÝȯÇÕ´Ï´Ù. ¼¼¼Ç À¯Áö ½Ã°£ÀÌ Áö³­ ÈÄ ¿äûÀ» ÇÑ´Ù¸é ´Ù½Ã true¸¦ ¹ÝȯÇϰÚÁÒ.

 

n        <%=session.isNew()%>

 

getId ¸Þ¼­µå´Â ÀÌ ¼¼¼Ç¿¡ ÇÒ´çµÈ À¯ÀÏÇÑ À̸§(ÀÏÁ¾ÀÇ id)À» ¹ÝÈ¯ÇØÁÖ´Â ¸Þ¼­µåÀÔ´Ï´Ù.

 

n        <%=session.getId() %>

 

getCreationTime ¸Þ¼­µå´Â ¼¼¼ÇÀÌ Ã³À½ »ý¼ºµÈ ½Ã°£À» second·Î ¹ÝÈ¯ÇØÁÖ´Â ¸Þ¼­µåÀÔ´Ï´Ù. Date °´Ã¼¸¦ »ç¿ëÇÏ¿© Ç¥Áؽ÷Πº¯È¯ÇÏ¿´½À´Ï´Ù.

 

n        <%=new java.util.Date(session.getCreationTime()).toString() %>

 

getLastAccessedTime ¸Þ¼­µå´Â ¼¼¼ÇÀÌ À¯ÁöµÇ´Â µ¿¾È ¸¶Áö¸·¿¡ Á¢¼ÓÇÑ ½Ã°£À» second·Î ¹ÝÈ¯ÇØÁÖ°í ÀÖ½À´Ï´Ù.

 

n        <%=new java.util.Date(session.getLastAccessedTime()).toString() %>

 

getMaxInactiveInterval ¸Þ¼­µå´Â ¼³Á¤µÈ ¼¼¼Ç À¯Áö ½Ã°£ °ªÀ» ºÒ·¯¿À´Â ¸Þ¼­µåÀÔ´Ï´Ù. Áï setMaxInactiveInterval ¸Þ¼­µåÀÇ °ªÀ» ºÒ·¯¿À´Â °ÍÀ̰ÚÁö¿ä. ´ÜÀ§´Â secondÀÔ´Ï´Ù.

 

n        <%=session.getMaxInactiveInterval() %>

 

¼¼¼Ç °´Ã¼¿¡ ÀúÀåÇÑ °ªÀ» ºÒ·¯¿Ã ¶§¿¡´Â getAttribute ¸Þ¼­µå¸¦ »ç¿ëÇϴµ¥ ¹ÝȯµÇ´Â ÇüÀÌ Object ÇüÀ̹ǷΠ¿ø·¡ÀÇ ÇüÀ» ã±â À§Çؼ­´Â ´Ù¿î ij½ºÆÃÀ» ÇØ ÁÖ¾î¾ß ÇÑ´Ù´Â °ÍÀ» À̹ø ÀýÀ» ÅëÇØ ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ´ÙÀ½¿¡´Â °á°ú¿¡¼­ ¡°¼¼¼Ç »èÁ¦Çϱ⡱ ¸µÅ©¸¦ ´©¸£¸é ¹ß»ýÇÏ´Â ¼¼¼Ç Á¾·áÀÇ ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ
ÀúÀÚ:ÃÖ¿µ°ü