// Java Servlet resembling CGI example in COBOL/iX to show diffs import java.io.*; import javax.servlet.http.*; public class JCobCGI extends HttpServlet { static final String myHeader = "

Simple Java Servlet Demo

"; static final String myFooter = "
Lars Appel, February 1999
"; // this method is invoked for http GET requests public void doGet( HttpServletRequest req, HttpServletResponse res ) throws IOException { res.setContentType( "text/html" ); PrintWriter toClient = res.getWriter(); toClient.println( myHeader ); String qs = req.getQueryString(); if ( qs==null || qs.equals("") ) { toClient.println( "

GET Method needs valid QUERY_STRING

" ); } else { toClient.println ( "

GET Method received QUERY_STRING as " + qs + "

" ); int loopCount = Integer.parseInt( qs ); if (loopCount < 1) { loopCount = 1; toClient.println( "

Loop Count was less than one

" ); } if (loopCount > 1000) { loopCount = 1000; toClient.println( "

Loop Count was greater than 1000

" ); } toClient.println( "
" );

      while (loopCount > 0)
        toClient.println( "Test message loop countdown at " + loopCount-- );

      toClient.println( "
" ); } toClient.println( myFooter ); toClient.close(); } // this method is invoked for http POST requests public void doPost( HttpServletRequest req, HttpServletResponse res ) throws IOException { res.setContentType( "text/html" ); PrintWriter toClient = res.getWriter(); toClient.println( myHeader ); int contLen = req.getContentLength(); toClient.println ( "

POST Method received CONTENT_LENGTH as " + contLen + "

" ); toClient.println( "

No need to parse out HTML form data myself!

" ); String loopStr = req.getParameter( "myloop" ); String testMsg = req.getParameter( "mytext" ); int loopCount = (loopStr == null) ? 10 : Integer.parseInt( loopStr ); if (testMsg == null) testMsg = "Default Test Message"; toClient.println( "
" );

    while (loopCount > 0)
    {
      toClient.println
        ( "Countdown at " + loopCount + " with message " + testMsg );
      loopCount--;
    }

    toClient.println( "
" ); toClient.println( myFooter ); toClient.close(); } }