본문 바로가기

WEB_Programming/JSTL

11. JSTL Cookie 처리

1. 쿠키를 이용한 채팅 처리

1.1 index.jsp
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/core-rt" prefix="c-rt" %>
<c:if test="${pageContext.request.method=='POST'}">
<%
  Cookie mycookie = new Cookie("login",request.getParameter("uid"));
  mycookie.setMaxAge(0x7ffffff);
  response.addCookie(mycookie);
%>
  <c:redirect url="main.jsp">
    <c:param name="uid" value="${param.uid}"/>
  </c:redirect>
</c:if>

<html>
  <head>
    <title>Simple Chat with Cookie</title>
  </head>

  <body>
 
    <c-rt:forEach var="aCookie" items="<%=request.getCookies()%>">
      <c:if test="${aCookie.name=='login'}">
        <c:set var="uid" value="${aCookie.value}"/>
      </c:if>
    </c-rt:forEach>
 
 
    <form method="post">
      <table id="AutoNumber1">
        <tbody>
          <tr>
            <td width="100%" colspan="2">
              <p align="center">
                <b>
                  <font size="4" >Chat Login</font>
                </b>
              </p>
            </td>
          </tr>

          <tr>
            <td width="23%">User ID</td>

            <td width="77%">
              <input type="text" name="uid" value="<c:out value="${uid}"/>" size="20" />
            </td>
          </tr>

          <tr>
            <td width="100%" colspan="2">
              <p align="center">
                <input type="submit" value="Submit"
                name="action" />

                <input type="reset" value="Reset" />
              </p>
            </td>
          </tr>
        </tbody>
      </table>

      <P>&#160;</p>
    </form>

    <P>
      <i>Note: You may use any User ID you wish</i>
    </p>
  </body>
</html>


1.2 main.jsp
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
  <head>
    <title>Chat Joined</title>
  </head>

  <body>
    <c:if test="${pageContext.request.method=='POST'}">
      <c:choose>
        <c:when test="${param.send!=null}">
          <c:set var="chat"
          value="${chat}<b>${param.uid}:</b>${param.text}<br />"
           scope="application" />
        </c:when>

        <c:when test="${param.clear!=null}">
          <c:set var="chat" value="" scope="application" />
        </c:when>
      </c:choose>
    </c:if>

    <table border="0">
      <tbody>
        <tr>
          <td>
            <h3>User:
            <c:out value="${param.uid}" />
            </h3>

            <hr />
          </td>
        </tr>

        <tr>
          <td>
            <c:out value="${chat}" escapeXml="false" />
          </td>
        </tr>

        <tr>
          <td>
            <hr />

            <form method="post">Message:
            <input type="text" name="text" size="20" />

            <input type="submit" name="send" value="Send" />

            <input type="submit" name="refresh" value="Refresh" />

            <input type="submit" name="clear" value="Clear" />

            <input type="hidden" name="uid"
            value="<c:out value="${param.uid}"/>" />

            <br />
            </form>
          </td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

'WEB_Programming > JSTL' 카테고리의 다른 글

13. JSTL CheckBox 폼 처리  (0) 2008.06.20
12. JSTL 예외 처리  (0) 2008.06.20
10. JSTL의 Scope  (0) 2008.06.20
9. JSTL에서 JavaBeans 사용  (0) 2008.06.20
8. JSTL Set  (0) 2008.06.20