CounterServlet.java
import java.io.*;
import java.util.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CounterServlet extends JRunDemoServlet {
public void service( HttpServletRequest req, HttpServletResponse res )
throws IOException {
res.setContentType( "text/html; charset=euc-jp" );
PrintWriter out = res.getWriter();
generateDemoPageStart( out );
Cookie ourCookie = null;
Cookie[] cookies = req.getCookies();
if( cookies != null ) {
for( int i=0; i<cookies.length; i++ ) {
if( cookies[i].getName().equals( "counter" ) ) {
ourCookie = cookies[i];
break;
}
}
}
if( ourCookie == null ) {
out.println( "<CENTER>" );
out.println( "<FONT SIZE=+1 FACE=\"arial\">" );
out.println( "カウンタ クッキーが設定されています!<P>" );
out.println( "</CENTER>" );
res.addCookie( new Cookie( "counter", "1" ) );
}
else {
int i = 1;
try { i = Integer.parseInt( ourCookie.getValue() ); } catch( Exception e) {}
out.println( "<CENTER>" );
out.println( "<FONT SIZE=+1 FACE=\"arial\">" );
out.println( "値により見つかったカウンタ クッキー '" + i + "'!<P>" );
out.println( "</CENTER>" );
i++;
res.addCookie( new Cookie( "counter", "" + i ) );
}
out.println( "<P>" );
out.println( "<CENTER>" );
out.println( "<A HREF=\"" + req.getRequestURI() + "\">このページを再ロードします。</A>" );
out.println( "</CENTER>" );
generateDemoPageEnd( req, res, out );
}
}