- From: Joseph M. Futrelle <futrelle@ncsa.uiuc.edu>
- Date: Fri, 20 Jun 1997 11:15:06 -0500 (CDT)
- To: www-jigsaw@w3.org
If your program is written in Java, you shouldn't be calling it as an external command using ProcessFilter. This usually results in the OS creating a new Java runtime every time an HTTP request comes into your resource. This can be **very** slow! You should modify your Java program so that it is a subclass of w3c.jigsaw.resources.ResourceFilter. Then it will be able to do everything an external program called by ProcessFilter can do, and more. The tutorial on "Implementing a Filter" shows how to do this. If you absolutely have to write your filter as an external java program, (which I *don't* recommend!) it should look something like this: class MyProgram { public static void main (String args[]) { BufferedReader br = new BufferedReader (new InputStreamReader (System.in)); for (;;) { String line = br.readLine (); if (line == null) break; // insert code to do something here ... System.out.println (line); } } } ProcessFilter is good when the processing program is written in a language other than Java. For instance, here's a Perl script which removes <blink> tags from html files: #!/usr/local/bin/perl -np s#\<(/|)\w*blink\w*\>##ig; Julianne Freire de Sousa Pepeu spake thusly: > Hi, all. > > Does anybody have a program that can be called by > the command attribute of the processfilter? I would > like to know about the communication between the > processfilter and the external program. > > My program (in Java) isn't working... > > Thanks in advance, > > Julianne. > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Julianne Freire Pepeu Departamento de Informatica, UFPE > jfsp@di.ufpe.br http://www.di.ufpe.br/~jfsp -- Joe Futrelle Developer, EMERGE Joule/Jigsaw Java/HTTP National Center for Supercomputing Applications futrelle@ncsa.uiuc.edu (217) 265-0296
Received on Friday, 20 June 1997 12:15:10 UTC