Dealing with files | |
---|---|
FileHandler | Delivers static files from the file system to clients, based on the requested URL. |
ResourceHandler | Delivers static files contained in Java resources (jar files) to clients, based on the requested URL. |
NotFoundHandler | Delivers a static file, either from the filesystem or a Java resource without regard to the specific URL requested, presumably because the requested resource is not available. |
TemplateHandler | Reads HTML/XML templates from the filesystem, based on the requested URL, and processes them through a sequence of template classes. |
ReplaceTemplate | Replaces the content currently associated with a URL request with a fixed page from the filesystem. This is useful when the needed portions of the prior content have been extracted to the Request Properties. |
DirectoryTemplate | Computes a list of files and directories in the current directory (based on the requested URL), and makes the lists available for substitutions in a template. |
Manipulating Remote Content | |
MultiProxyHandler | Implements a "website mount" capability. All content under a supplied URL prefix is fetched from a remote site, and made to appear as if the content was on the local system. |
PollHandler RePollHandler |
Fetches content from a remote site asynchronously, and makes it available for use by any URL request. |
IncludeTemplate | Fetches content from a remote site synchronously for inclusion into the current content. There are two different versions. One (in the template package) uses the internal http protocol stack, which does connection caching. It works for all versions of Java (1.1 or newer) but only supports http. The other one (in the Sunlabs package) uses the stack built-in to Java (as of jdk 1.4), so it supports https as well as other protocols, but it doesn't play with the built-in connection caching. |
Authentication and access control | |
BasicAuthHandler | Manipulates Browser based basic authentication headers, for use as access control tokens, either over https connections, or where the passwords aren't very secret. |
DigestAuthHandler | Manipulates Browser based digest authentication headers, for use as access control tokens. This is preferred to basic authentication, but isn't supported by all browsers. |
RolesHandler | Assigns sets of privileges (stored in files) to clients based on their access control tokens. |
AclSwitchHandler | Allows or denies access to specified resources based on user privileges, or access control tokens. |
RestrictClientHandler | Allows or denies client access to resources based on client ip addresses or domains. |
Session Management | |
CookieSessionHandler | Provides a Session Identifier based on browser cookies. |
SimpleSessionHandler | Provides (or modifies) a Session Identifier based on arbitrary combinations of http envelope properties, such as "user agent" or "client ip address". |
BasicAuthHandler | Provides a Session Identifier based on Basic Authentication tokens. |
SslHandler | Provides a Session Identifier based on Client certificates. |
SessionFilter | Provides a Session Identifier, using browser cookies where available, or URL rewriting otherwise. |
Request management and Adaptors | |
ChainHandler | Dispatches URL requests to a sequence of handlers. |
FilterHandler | Arranges for a URL request, including the content associated with it, to be rewritten by a sequence of filters. |
TemplateHandler | Processes the contents of a file as an HTML/XML document and makes "call backs" to template classes to rewrite portions of the document in a tag specific way. |
TemplateFilter | Processes the content associated with a URL request as an HTML/XML document and makes "call backs" to template classes to rewrite portions of the document in a tag specific way. |
Deployment | |
BrazilServlet | Allows a Brazil application to be deployed in a J2EE compliant Web container, by turning an entire Brazil server into a Servlet. |
ChainSawHandler | Generates web standard log files. |
LogHandler | Generates customizable server logs. |
PropertiesCacheManager | Provides a SessionManager implementation that arranges for (certain) session state to be saved to (and read from) ASCII files, allowing session information to persist across server restarts. |
RestartHandler | Allows the server to "restart" on the fly with a new configuration withoug losing any requests in progress. |
XML/HTML template processing | |
SetTemplate | Allows setting and retrieving ASCII session data, such as user preferences, or data generated by other Handlers or Templates to be substituted into HTML templates. |
BSLTemplate | Implements the Brazil Scripting Language, permitting scripting of presentation in an XML compliant syntax. |
FormTemplate | Automatically transfers session state to HTML forms. |
Server-side Scripting |
Allows the inclusion and interpretation of scripts embedded inside
of web pages. The following languages are currently supported:
|
Database Access | |
LDAPTemplate SqlTemplate |
Allows LDAP or SQL to be embedded in HTML templates. Queries may be generated dynamically, and the results are made available to the rest of the HTML template for processing using BSL. |
Calling external processes | |
CgiHandler | Runs standard CGI/1.1 programs. |
ExecFilter | Passes the content associated with a URL request to a process for external rewriting. |
ExecTemplate | Runs a command inside of an HTML template, and returns a result that may be integrated into the HTML. |
When application specific code needs to be added to the Brazil system, either
as a Handler
, Filter
or Template
, the
following classes may be useful.
SessionManager | Provides a common set of services for managing persistent data in a deployment neutral way. |
MatchString | Provides the standard mechanism for determining the disposition of a request based on the URL. |
HttpRequest | Provides the client side of the HTTP protocol. |
Glob Regexp |
Useful classes for manipulating strings. |
LexHtml HtmlRewriter MapPage |
Utilities for interpreting, parsing, and rewriting web pages and their links. |