Gang,
I have now componentized the relevant parts of Jetty, except for the
ServletHandler and WebAppHandler.
That means that it is now possible to assemble practically any type of Jetty
server, including all the various configuration parameters/attributes that
exist.
I have also done the ModelHandler, which is Jetty HttpHandler that can 'mount'
an Avalon component (implementing o.a.a.http.HttpRequestHandler interface) to
a context-path in the HttpContext.
There is no automagic traverse of the composition model to find all the
components that implement the said interface. Each have to be explicitly
declared as a ModelHandler parameter.
Ex;
<component name="context"
class="org.apache.avalon.http.impl.HttpContextImpl" >
<configuration>
<context-path>/niclas/testing</context-path>
</configuration>
</component>
<component name="model-handler-primary"
class="org.apache.avalon.http.impl.ModelHandler"
>
<parameters>
<parameter name="context-path" value="/primary" />
<parameter name="target" value="/http/primary" />
</parameters>
</component>
Here, the HttpContext is mounted at /niclas/testing, and under that the
/http/primary component is mounted to the /primary context-path. I.e. the
handle() method in the TestComponent is called for
http://localhost:8088/niclas/testing/primary
If you want to try this, update the latest Avalon source from subversion.
Build it all,
ant setup
ant clean
ant
cd planet/facilities/http
merlin impl/src/etc/default-server.xml
(provided you have set up Merlin to run)
Then request http://localhost:8088/niclas/testing/primary from your browser.
- - - - -
This is still fairly early in the game, but progress is good. I will tackle
documentation ASAP, which will be quite extensive since there are endless
amounts of Jetty configuration available, some is not too well documented by
them.
The Road Map ahead is;
* Authentication/UserRealm support.
* Support for standard Servlets.
* Support for JSPs.
* Support for WebApps.
* Support for template engines, like Tapestry and Velocity.
* Support for Struts.
("support" above means explicit code that is easy to enable without coding.)
Any help is greatly appreciated.
Cheers
Niclas
--
+------//-------------------+
/ http://www.bali.ac /
/ http://niclas.hedhman.org /
+------//-------------------+
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]