home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / net / www / httpd / plugins / executeshell.java
Text File  |  1995-08-11  |  2KB  |  44 lines

  1. /*
  2.  * @(#)executeShell.java    1.2 95/05/10
  3.  * 
  4.  * Copyright (c) 1995 Sun Microsystems, Inc.  All Rights reserved Permission to
  5.  * use, copy, modify, and distribute this software and its documentation for
  6.  * NON-COMMERCIAL purposes and without fee is hereby granted provided that
  7.  * this copyright notice appears in all copies. Please refer to the file
  8.  * copyright.html for further important copyright and licensing information.
  9.  * 
  10.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
  11.  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  12.  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
  13.  * OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
  14.  * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR
  15.  * ITS DERIVATIVES.
  16.  */
  17.  
  18. package net.www.httpd.plugins;
  19.  
  20. import net.www.httpd.ServerPlugin;
  21. import net.www.httpd.Server;
  22. import net.www.html.URL;
  23.  
  24. /**
  25.  * A class to define a server plugin that will execute a shell command
  26.  * and return its output as an html document.
  27.  * @author  James Gosling
  28.  */
  29.  
  30. class executeShell extends ServerPlugin {
  31.     String validate() {
  32.     if (args.length < 1)
  33.         return "No shell command specified";
  34.     return null;
  35.     }
  36.     void getRequest(Server s, URL u) {
  37.     String command = args[0].toString();
  38.     for (int i = 1; i < args.length; i++)
  39.         command = command + " " + args[i].toString();
  40.     System.out.print("Trying to exec <" + command + ">\n");
  41.     s.generateProcessOutput(command, command);
  42.     }
  43. }
  44.