Overview | Package | Class | Use | Tree | Deprecated | Index
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javassist.web
Class Webserver

    java.lang.Object
      |
      +--javassist.web.Webserver

Direct Known Subclasses:
  AppletServer

public class Webserver
extends java.lang.Object

A web server for Javassist.

This enables a Java program to instrument class files loaded by web browsers for applets. Since the (standard) security manager does not allow an applet to create and use a class loader, instrumenting class files must be done by this web server.

Programmers can register a `ClassPool` object for instrumenting class files when they are sent to web browsers.

Note: although this class is included in the Javassist API, it is provided as a sample implementation of the web server using Javassist. Especially, there might be security flaws in this server. Please use this with YOUR OWN RISK.

Field Summary
`java.lang.String` | `debugDir` If this field is not null, the class files taken from `ClassPool` are written out under the directory specified by this field.
`java.lang.String` | `htmlfileBase` The top directory of html (and .gif, .class, ...) files.

Constructor Summary
`Webserver(int port)` Constructs a web server.
`Webserver(java.lang.String port)` Constructs a web server.

Method Summary
`void` | `doReply(java.io.InputStream in, java.io.OutputStream out, java.lang.String cmd)` Proceses a HTTP request from a client.
`void` | `end()` Closes the socket.
`void` | `logging(java.lang.String msg)` Prints a log message.
`void` | `logging(java.lang.String msg1, java.lang.String msg2)` Prints a log message.
`void` | `logging(java.lang.String msg1, java.lang.String msg2, java.lang.String msg3)` Prints a log message.
`void` | `logging2(java.lang.String msg)` Prints a log message with indentation.
`static void` | `main(java.lang.String[] args)` Starts a web server.
`void` | `run()` Begins the HTTP service.
`void` | `setClassPool(ClassPool loader)` Requests the web server to use the specified `ClassPool` object for obtaining a class file.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### debugDir

    public java.lang.String debugDir

  If this field is not null, the class files taken from `ClassPool` are written out under the directory specified by this field. The directory name must not end with a directory separator.

### htmlfileBase

    public java.lang.String htmlfileBase

  The top directory of html (and .gif, .class, ...) files. It must end with the directory separator such as "/". (For portability, "/" should be used as the directory separator. Javassist automatically translates "/" into a platform-dependent character.) If this field is null, the top directory is the current one where the JVM is running.

  If the given URL indicates a class file and the class file is not found under the directory specified by this variable, then `Class.getResourceAsStream()` is called for searching the Java class paths.

Constructor Detail

### Webserver

    public Webserver(java.lang.String port)
              throws java.io.IOException

  Constructs a web server.

Parameters:
  `port` - port number

### Webserver

    public Webserver(int port)
              throws java.io.IOException

  Constructs a web server.

Parameters:
  `port` - port number

Method Detail

### main

    public static void main(java.lang.String[] args)
                     throws java.io.IOException

  Starts a web server. The port number is specified by the first argument.

    `java.io.IOException`

### setClassPool

    public void setClassPool(ClassPool loader)

  Requests the web server to use the specified `ClassPool` object for obtaining a class file.

### end

    public void end()
             throws java.io.IOException

  Closes the socket.

    `java.io.IOException`

### logging

    public void logging(java.lang.String msg)

  Prints a log message.

### logging

    public void logging(java.lang.String msg1,
                        java.lang.String msg2)

  Prints a log message.

### logging

    public void logging(java.lang.String msg1,
                        java.lang.String msg2,
                        java.lang.String msg3)

  Prints a log message.

### logging2

    public void logging2(java.lang.String msg)

  Prints a log message with indentation.

### run

    public void run()

  Begins the HTTP service.

### doReply

    public void doReply(java.io.InputStream in,
                        java.io.OutputStream out,
                        java.lang.String cmd)
                 throws java.io.IOException,
                        BadHttpRequest

  Proceses a HTTP request from a client.

  Parameters:
    `out` - the output stream to a client
    `cmd` - the command received from a client
    `java.io.IOException`
    `BadHttpRequest`

Overview | Package | Class | Use | Tree | Deprecated | Index
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Javassist, a Java-bytecode translator toolkit. Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved.