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> </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>
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> </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 |