CLASS Cookie
À̹ø¿¡´Â Cookie¶ó´Â Ŭ·¡½º¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. Cookie´Â jsdk 2.0ºÎÅÍ Áö¿øÇÏ´Â °ÍÀ¸·Î, jws1.0.3À» »ç¿ëÇÏ½Ã¸é »ç¿ëÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. Cookie¶õ À¥¼¹ö¿¡ ÀÇÇؼ ºê¶ó¿ìÀú¿¡ ÀúÀåµÇ´Â ¸Þ½ÃÁö¸¦ ÀǹÌÇÕ´Ï´Ù. Áï, À¥¼¹ö¿¡¼ ÇÊ¿äÇÑ Á¤º¸¸¦ À¥ ºê¶ó¿ìÀú¿¡ ÀúÀå½ÃÅ°´Â °ÍÀ̶ó ÇÒ ¼ö ÀÖ¾î¿ä. ÁÖ·Î »ç¿ëÀÚ ÀÎÁõÀ» Çϴµ¥ »ç¿ëÇϱ¸¿ä, ¹¹ ÇÊ¿ä¿¡ µû¶ó¼ ´Ù¸¥ °÷¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ¾î¿ä. ¿©·¯ºÐÀÌ IE¸¦ »ç¿ëÇϽŴٸé c:\windows\cookies¶ó´Â Æú´õ¸¦ º¸½Ã¸é ¸¹Àº txt ÈÀϵéÀÌ ÀÖÀ»ÅÙµ¥, ±×°ÍµéÀÌ ´Ù ÄíÅ°¶ø´Ï´Ù. NCµµ NC Æú´õ ¾Æ·¡ÀÇ userÆú´õ ¹Ø¿¡ º¸¸é Cookie¸¦ ÀúÀåÇÏ´Â Æú´õ°¡ ÀÖ½À´Ï´Ù. ±×·³ ÄíÅ°¸¦ ÀÌ¿ëÇؼ ¾î¶»°Ô »ç¿ëÀÚ ÀÎÁõÀ» ÇÏ´ÂÁö »ý°¢ÇØ º¸µµ·Ï ÇÏÁö¿ä. 1. »ç¿ëÀÚ ÀÎÁõÀ» À§ÇÑ FormÀÌ ÀÖ´Â »çÀÌÆ®¿¡ Á¢¼ÓÇÑ´Ù.2. ÇÊ¿äÇÑ »ç¿ëÀÚ Á¤º¸¸¦ ÀÔ·ÂÇÑ´Ù. - »ç¿ëÀÚ ID¿Í PasswordÁ¤µµ°¡ µÇ°ÚÁö¿ä. 3. ¼¹öÃø¿¡¼ ÄíÅ°¸¦ ¼ÂÆÃÇØÁØ´Ù. 4. ÀÎÁõµÈ »çÀÌÆ®¿¡ Á¢¼ÓµÈ´Ù. À§ÀÇ ¹æ½ÄÀÔ´Ï´Ù. ¾î¶»°Ô ÇÏ´ÂÁö ¾Æ½Ã°ÚÁö¿ä? ÄíÅ°´Â ¼¹ö¿¡¼ ¼ÂÆÃÇÏ´Â °ÍÀ̱¸¿ä, ¾î¶² ¹æ½ÄÀ¸·Î ¼ÂÆÃÀ» ÇÒÁö´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â »ç¶÷ÀÇ ¹®Á¦ÀÌ°ÚÁö¿ä? Á¿찣, ÄíÅ°°¡ ¸ÓÇÏ´Â °ÍÀÎÁö ¾Ë¾ÒÀ¸¸é ¿ì¸®ÀÇ °ü½É»çÀÎ ¼ºí¸´¿¡¼ ÄíÅ°¸¦ ¾î¶»°Ô ¾²´ÂÁö ¾Ë¾Æ ºÁ¾ß°ÚÁö¿ä? ¸Ó º°·Î ¾î·ÆÁö ¾Ê½À´Ï´Ù. ¼ºí¸´ÀÇ package¿¡´Â javax.servlet.http.Cookie¶ó´Â Ŭ·¡½º¸¦ Á¦°øÇϰŵç¿ä. ±×·³ Cookie¶ó´Â Ŭ·¡½º¸¦ Á» ´õ ÀÚ¼¼È÷ »ìÆì º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. Âü°í·Î RFC2109¸¦ º¸½Ã¸é Cookie¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾òÀ¸ ½Ç ¼ö ÀÖ½À´Ï´Ù.
À§´Â ÄíÅ° Ŭ·¡½ºÀÇ ¼±¾ðºÎÀÔ´Ï´Ù. Object¸¦ »ó¼Ó¹Þ°í CloneableÀ» implementÇ߳׿ä. Cloneable°°Àº interface´Â ´Ù¸¥ Ã¥À» Âü°íÇϽñ⠹ٶø´Ï´Ù. ÇÏ¿©°£ Cookie´Â Ŭ·¡½º¶ó´Â °ÍÀ» ¾Ë¾ÒÁö¿ä? This class represents a "Cookie", as used for session management with HTTP and HTTPS protocols. Cookies are used to get user agents (web browsers etc) to hold small amounts of state associated with a user's web browsing. Common applications for cookies include storing user preferences, automating low security user signon facilities, and helping collect data used for "shopping cart" style applications À§ÀÇ ³»¿ëÀº Cookie Class API¿¡ Àִ Ŭ·¡½º¿¡´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» º¹»çÇÑ °ÍÀÔ´Ï´Ù. ¸Ó À§¿¡¼ ¼³¸íÇÑ °Í°ú º°·Î ´Ù¸¥ °ÍÀº ¾ø´Â °Í °°Àºµ¥, ÇÑ°¡Áö Áß¿äÇÑ °ÍÀÌ Àֳ׿ä. low security ¶ó´Â ¸»ÀÔ´Ï´Ù. ÀüÀÚ»ó°Å·¡ °°Àº °÷¿¡ ÀÀ¿ëÀº °¡´ÉÇÏÁö¸¸, º¸¾ÈÀÌ ÁÁÁö´Â ¸øÇÕ´Ï´Ù. ÄíÅ°´Â HttpServletResponseÀÇ addCookie()¶ó´Â ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© ¼ÂÆÃÀ» ÇÕ´Ï´Ù. ±×¸®°í HttpServletRequestÀÇ getCookie()¶ó´Â ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© °¡Á® ¿Ã ¼ö ÀÖ½À´Ï´Ù. Set-Cookie: NAME=VALUE; expires=DATE; ÄíÅ°´Â À§¿Í °°Àº HTML HEADER Part¸¦ ÀÌ¿ëÇÏ¿© ¼ÂÆõ˴ϴÙ. ¿©·¯ °¡Áö ³»¿ëµéÀÌ ÀÖ´Â °Í °°Àºµ¥¿ä, ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº NAME°ú VALUEÀÏ »ÓÀ̱¸¿ä, ³ª¸ÓÁö´Â ÇÊ¿ä¿¡ µû¶ó ÀÔ·ÂÇÏ¸é µË´Ï´Ù. NAMEÀº ¼ÂÆÃÇÏ´Â CookieÀÇ À̸§À̱¸¿ä, VALUE´Â ±× ÄíÅ°ÀÇ °ªÀÔ´Ï´Ù. ±×¸®µµ expiresÀÇ DATE´Â ÄíÅ°ÀÇ ¼Ò¸ê ½ÃÁ¡À» ³ªÅ¸³»´Â °ÍÀ¸·Î, ¼ÂÆõÇÁö ¾ÊÀ¸¸é À¥ ºê¶ó¿ìÀúÀÇ Á¾·á¿Í °°ÀÌ ¼Ò¸êµË´Ï´Ù. ¼ÂÆÃÀ» ÇÏ¸é ¼ÂÆõǾîÁø ±× ½Ã°¢¿¡ ¼Ò¸ê µÇ´Âµ¥, ¸¸ÀÏ À¥ ºê¶ó¿ìÀúÀÇ Á¾·á½Ã±îÁö ¼Ò¸êµÇÁö ¾Ê¾Ò´Ù¸é, À¥ ºê¶ó¿ìÀú°¡ Á¾·áÇÒ ¶§ Çϵ忡 ÀúÀåÇÏ¿´´Ù°¡(À§¿¡ ¾îµð ÀúÀåµÇ´ÂÁö ¸»ÇßÁÒ?) ´Ù½Ã À¥ ºê¶ó¿ìÀú°¡ ½ÇÇàµÉ ¶§ ºÒ·¯¿É´Ï´Ù. ±×¸®°í PATH´Â Á¢¼ÓÇÑ »çÀÌÆ®ÀÇ PATH°¡ °°ÀºÁö¸¦ °Ë»çÇÏ¿© µ¿ÀÏÇÏ´Ù¸é ¼¹ö¿¡ Cookie¸¦ º¸³»°í, ±×·¸Áö ¾Ê´Ù¸é º¸³»Áö ¾Ê´Âµ¥ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í domainÀÇ DOMAIN_NAMEÀº ¾î¶² µµ¸ÞÀο¡ Á¢¼ÓÇßÀ» ¶§¸¸ Cookie°¡ À¯È¿ÇÏ´Ù´Â °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í secure´Â SSLµî¿¡¼ »ç¿ëÇϴµ¥, Á¦°¡ SSL¿¡ ´ëÇؼ Àß ¸ð¸£´Ï, ÀÚ¼¼ÇÑ ¼³¸íÀº ºÒ°¡´ÉÇÕ´Ï´Ù.--; ¶Ç Çϳª Áß¿äÇÑ °ÍÀÌ Àִµ¥, Cookie´Â »ç¿ëÇÒ ¼ö ÀÖ´Â À¥ ºê¶ó¿ìÀú°¡ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. Cookie´Â Netscape¿¡¼ ¸¸µé¾î ³½ °ÍÀ¸·Î¼, Netcape 3.0ÀÌ»ó, IE 3.0À̻󿡼¸¸ »ç¿ëÀ̵ǰí, ¶ÇÇÑ »ç¿ëÀÚ°¡ »ç¿ëÀ» ÇÒÁö ¾ÈÇÒÁö¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸±â ¶§¹®¿¡, »ç¿ë¿¡ ¾à°£ÀÇ ÁÖÀÇ°¡ ÇÊ¿äÇÕ´Ï´Ù. 1. Constructor public Cookie(String name, String value) ·Î µÇ¾î ÀÖ½À´Ï´Ù. óÀ½Àº CookieÀÇ À̸§ÀÌ°í ±× ´ÙÀ½ Parameter´Â CookieÀÇ °ªÀÌ µË´Ï´Ù. À§¿¡¼ ¼³¸í µå·ÈÀ¸´Ï Àß ¾Æ½Ã°ÚÁö¿ä? À̸§°ú °ªÀ» ¼³Á¤ÇÏ´Â °ÍÀ̱¸¿ä, StringÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. 2. setComment , getComment ¸Þ¼Òµå public void setComment(String purpose)·Î µÇ¾î ÀÖ½À´Ï´Ù. Comment¸¦ ¼³Á¤ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. public String getComment()´Â À§¿¡¼ ¼³Á¤ÇÑ Comment¸¦ ¹ÞÀ» ¶§ »ç¿ëÇÕ´Ï´Ù.3. setDomain, getDomain ¸Þ¼Òµå public void setDomain(String pattern)·Î µÇ¾î ÀÖ±¸¿ä, Default·Î´Â ÄíÅ°¸¦ ¼³Á¤ÇÑ µµ¸ÞÀÎÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ±×¸®°í public String getDomain() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© ±× °ªÀ» ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. RFC2109¹®¼¸¦ º¸¼¼¿ä. Domain¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀÌ ÀÖ½À´Ï´Ù. 4. setMaxAge, getMaxAge¸Þ¼Òµå public void setMaxAge(int expiry)·Î ÄíÅ°°¡ ¼Ò¸êµÉ ½Ã°£À» ÁöÁ¤ÇÕ´Ï´Ù. ´ÜÀ§´Â ÃÊ´ÜÀ§ÀÔ´Ï´Ù. °ªÀÌ 0À̸é ÄíÅ°´Â ¹Ù·Î ¼Ò¸êµÇ±¸¿ä, °ªÀÌ À½¼öÀ̸é, default·Î ¼³Á¤µË´Ï´Ù. Áï À¥ ºê¶ó¿ìÀú Á¾·á½Ã ¼Ò¸êµÇ°Ô µË´Ï´Ù. 5. setPath, getPath ¸Þ¼Òµå public void setPath(String uri)·Î µÇ¾î ÀÖ±¸¿ä, À§¿¡¼ ¼³¸íµå¸° Path¸¦ ¼³Á¤Çϴµ¥ »ç¿ëÇÕ´Ï´Ù. public String getPath()´Â ±× °ªÀ» ¹Þ¾ÆµéÀ̴µ¥ »ç¿ëÇÕ´Ï´Ù.. 6. setSecure, getSecure ¸Þ¼Òµå public void setSecure(boolean flag)À§¿¡¼ ¼³¸íÇÑ SSL¿¡ °ü·ÃµÈ ¸Þ¼Òµå·Î booleanÀÔ´Ï´Ù. °ªÀ» ÀÐ¾î ¿À´Âµ¥´Â public boolean getSecure()´Â »ç¿ëÇÕ´Ï´Ù. 7. getName ¸Þ¼Òµå public String getName()·Î ÄíÅ°ÀÇ nameÀ» ¹ÝȯÇÕ´Ï´Ù. 8. setValue, getValue ¸Þ¼Òµå public void setValue(String newValue)·Î °ªÀ» ¼³Á¤ÇÕ´Ï´Ù. »ç¿ë½Ã ÁÖÀÇ°¡ ÇÊ¿äÇѵ¥, 0 versionÀÇ Cookie¿¡¼´Â Ư¼ö¹®ÀÚ (whitespace, brackets and parentheses, the equals sign, comma, double quote, slashes, question marks, the "at" sign, colon, and semicolon)µîÀº »ç¿ëÀ» ÇÏ¸é ¾ÈµÇ±¸¿ä, °ø¹é¹®ÀÚ´Â ºê¶ó¿ìÀú¸¶´Ù ´Ù¸¥ °ªÀÌ ³ª¿Ã ¼ö ÀÖÀ¸¹Ç·Î »ç¿ë¿¡ ÁÖÀÇÇÏ¿©¾ß ÇÕ´Ï´Ù. public String getValue()·Î °ªÀ» ¹Þ¾Æ¿Ã ¼ö ÀÖ½À´Ï´Ù. 0 versionÀº óÀ½ÀÇ Cookie¸¦ ÀǹÌÇϱ¸¿ä, 1 versionÀº IETF¿¡¼ ÇöÀç Ç¥ÁØÈ ÁßÀÎ RFC2109¸¦ ±âÁØÀ¸·Î ÇÑ ÄíÅ°¸¦ ÀǹÌÇÕ´Ï´Ù. 9. getVersion, setVersion¸Þ¼Òµå public int getVersion()À» ÀÌ¿ëÇÏ¿© ÄíÅ°ÀÇ ¹öÀüÀ» ¹Þ¾Æ¿Ã ¼ö ÀÖ½À´Ï´Ù. 0 ¹öÀüÀº OriginalÀ» ÀǹÌÇÏ°í, 1 ¹öÀüÀº ÇöÀç Ç¥ÁØÈ ÁßÀÎ Cookie¸¦ ÀǹÌÇÕ´Ï´Ù. ¾ÆÁ÷ Ç¥ÁØÈ°¡ ³¡³ªÁö ¾Ê¾ÒÀ¸¹Ç·Î »ç¿ë¿¡ ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù. 10. clone public Object clone()Àä,
CookieÀÚ½ÅÀ» returnÇÕ´Ï´Ù. ¸Ó¿¡ »ç¿ëÇÏ´ÂÁö ¸ð¸£°Ú±º¿ä. *^^*
If you have any question, send mail to bluehope |