// postCGIplus.java // Compile using: $ javac "postCGIplus.java" // // 03-JUN-2000 MGD less sloppy CGI, add header! // 03-SEP-1998 MGD changes in line with JDK 1.1.6 final release // 09-DEC-1997 MGD initial // // Example of POSTed, "x-www-form-urlencoded" processing. // Can be invoked using ... http://host/cgiplus-bin/postcgiplus.class import java.io.*; public class postcgiplus { private static CGIplus cgienv = new CGIplus(); private static String nameValue = null; public static void main (String args[]) { /* CGIplus "infinite loop" */ for (;;) { cgienv.begin(); // CGI-compliant plain-text header (and pre-expired) System.out.print("Content-Type: text/plain\n" + "Expires: Thu, 01-Jan-1970 00:00:01 GMT\n\n"); System.out.println("There are " + cgienv.getCgiVarCount() + " CGI variables ..."); while ((nameValue = cgienv.nextCgiVar()) != null) System.out.print(nameValue); System.out.println(""); if (cgienv.isPOSTedForm()) { System.out.print("Content-Type: " + cgienv.getCgiVar("CONTENT_TYPE")); System.out.println(""); System.out.print("Dump of form fields ..."); while ((nameValue = cgienv.nextFormField()) != null) System.out.print(nameValue); System.out.println(""); System.out.print("Field \"hidden1\": " + cgienv.getFormField("hidden1")); System.out.print("Field \"hidden2\": " + cgienv.getFormField("hidden2")); System.out.print("Field \"hidden3\" (which doesn't exist): " + cgienv.getFormField("hidden3")); System.out.print("Field \"userinput\": " + cgienv.getFormField("userinput")); } else { System.out.print("Request was not POSTed!"); } cgienv.end(); } } }